DJango的创建和使用详解(默认数据库sqlite3)

yizhihongxing

Django的创建和使用详解(默认数据库sqlite3)

简介

Django是一个高层次的Python Web框架,全面支持MVC编程模式。Django的目标是让Web开发更加方便,让开发者可以专注于业务逻辑层面的开发,而无需关心低层次的底层细节。本文将介绍如何创建一个Django项目,并使用默认的sqlite3数据库。

准备工作

在开始创建Django项目之前,我们需要先安装Django。通过命令行输入以下命令即可安装:

pip install django

创建Django项目

通过以下命令创建Django项目:

django-admin startproject myproject

这将创建一个名为“myproject”的Django项目。其中,包含一个默认应用程序(称为“main”),以及一个名为“manage.py”的管理脚本。可以通过运行以下命令来测试服务是否正常:

python manage.py runserver

创建应用程序

“myproject”包含一个名为“main”的默认应用程序。为了创建新的应用程序,请运行以下命令:

python manage.py startapp myapp

这将创建一个名为“myapp”的新应用程序。在此之后,需要在主项目设置中注册新应用程序。打开“myproject/settings.py”,将“INSTALLED_APPS”中的字符串列表添加新应用程序的名称“myapp”。

创建模型

模型是Django中的一个重要概念,用于对数据进行建模。要创建模型,需要在“myapp/models.py”中定义一个类。以下示例演示如何创建一个模型类:

from django.db import models

class Person(models.Model):
    name = models.CharField(max_length=30)
    age = models.IntegerField()

在这个例子中,我们创建了一个“Person”模型,具有“name”和“age”两个字段。

迁移数据库

在完成模型的创建之后,需要在数据库中创建相应的表。为此,需要运行以下命令:

python manage.py makemigrations myapp

然后运行:

python manage.py migrate

这将自动将模型同步到数据库中。

创建视图函数

视图函数按照MVC框架的模式,是模型和模板的桥梁。要创建视图函数,请打开“myapp/views.py”,并编写以下代码:

from django.shortcuts import render
from django.http import HttpResponse
from .models import Person

def index(request):
    persons = Person.objects.all()
    context = {"persons": persons}
    return render(request, "index.html", context)

在这个例子中,我们创建了一个名为“index”的视图函数,从数据库中获取所有Person的数据,并将它们传递到网页模板中。

创建网页模板

网页模板用于将数据和HTML元素混合在一起,并在浏览器中呈现。要创建网页模板,请通过以下命令在“myapp/templates”目录中创建一个名为“index.html”的新文件:

touch myapp/templates/index.html

然后,打开文件并编辑以下代码:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Person List</title>
</head>
<body>
    <h1>Person List</h1>
    <ul>
        {% for person in persons %}
        <li>{{ person.name }}: {{ person.age }}</li>
        {% endfor %}
    </ul>
</body>
</html>

显示数据

最后一步是要使网站能够显示数据。为此,需要让Django知道我们的路由是什么。打开“myproject/urls.py”,并添加以下代码:

from django.urls import path
from myapp import views

urlpatterns = [
    path("", views.index, name="index"),
]

这将将我们的“index”视图函数分配给站点的根URL。现在运行:

python manage.py runserver

打开浏览器,并前往http://127.0.0.1:8000/,您将看到所有Person的数据。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:DJango的创建和使用详解(默认数据库sqlite3) - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • 在django中连接数据库时python manage.py makemigrations时显示can’t open file ‘manage.py’:[Errno 2] No such file or directory

     解决方法: 1.我们可以在表头栏设置:    2.然后在terminal中makemigrations:   3. 然后再输入migrate:    4.然后再去数据库查看生成的表信息:  在网上有几个是关机解决上述问题的方法,但是本人没处理明白,感觉他们说的乱七八糟的,我选择了另一种方式实现数据库的初始化,希望大家日后有好的解决办法,留言一下

    Django 2023年4月11日
    00
  • django虚拟环境(virtualenv)的创建

    下面是创建django虚拟环境的完整攻略: 什么是虚拟环境? 虚拟环境可以简单理解为隔绝开的一个Python环境,可以给一个项目单独创建一个Python环境,这对于不同的Python项目开发来说,非常有用。一个项目单独创建一个虚拟环境,不会与其他项目的环境冲突。 创建虚拟环境步骤 1. 安装virtualenv pip3 install virtualenv…

    Django 2023年5月16日
    00
  • Django动态渲染多层菜单

      为后续给菜单设置权限管理方便,通过给页面模版菜单动态渲染,通过数据菜单表进行匹配需要渲染的菜单 1 #Django表结构 2 3 class Menus(models.Model): 4 5 name = models.CharField(max_length=32, verbose_name=u’菜单名’) 6 parent = models.Fore…

    Django 2023年4月13日
    00
  • uwsgi运行django应用是报错no app loaded. going in full dynamic mode

    今天测试uwsgi运行uwsgi.ini的时候,报错: 网上搜了一天,大都不知原因,还是google吧:github问题解决 说说问题原因吧:根据uwsgi的提示,应该是wsgi.py的application导入问题导致,根据报错,可以尝试用python 导入试试 python -c “from app.wsgi import application” 显然…

    Django 2023年4月13日
    00
  • Django ORM 事务和查询优化的操作方法

    我为你讲解一下“Django ORM 事务和查询优化的操作方法”的完整攻略。 事务 Django中的ORM默认开启了自动提交事务的功能,但是这样可能会造成一些意外情况如数据处理失败时数据库和应用数据不一致等问题。因此,可以通过设置事务来保证数据的一致性。 开启事务 在Django中使用事务很简单,只需要在使用前调用@transaction.atomic装饰器…

    Django 2023年5月16日
    00
  • django实战仿慕课网在线视频网站(完成了85%以上的功能已上传github:https://github.com/huwei86/mxonline):

     1. 前台功能模块 基本模块:登录 注册 找回密码 / 全局搜索 / 个人中心, 课程功能:课程管理 / 讲师管理 / 授课机构管理  热门推荐 相关课程推荐 用户操作管理:用户收藏 / 课程评论  2.后台管理系统 课程管理模块:课程管理 / 课程资源管理 / 课程评论管理/轮播课程管理 认证和授权管理:用户管理 / 组管理 / 权限管理 / 用户日志管…

    Django 2023年4月12日
    00
  • 详解Django admin高级用法

    详解Django admin高级用法 Django admin是Django自带的管理员后台管理系统,可以方便地进行数据库管理,数据展示,数据处理等功能。本文将详细讲解如何使用Django admin的高级用法。 1. 自定义管理器 在Django admin中,如果希望对某个Model进行管理时,需要先创建一个管理器类,例如: from django.co…

    Django 2023年5月16日
    00
  • Django 1.8 admin 产生’WSGIRequest’ object has no attribute ‘user’的错误

        配置admin时,产生’WSGIRequest’ object has no attribute ‘user’的错误   google了下,说是MIDDLEWARE配置的有问题,顺序应该保持参见(http://stackoverflow.com/questions/26576192/wsgirequest-object-has-no-attribut…

    Django 2023年4月15日
    00
合作推广
合作推广
分享本页
返回顶部