Djiango学习记录 -- 问卷调查

 编写第一个 Django 应用

 首先查看djiango是否成功安装

python -m django --version

 第一部分:创建项目

创建项目文件

        进入任意一个目录,在命令行运行

django-admin startproject mysite

 这行代码将会在当前目录下创建一个 mysite 目录,目录结构如下

mysite/
    manage.py
    mysite/
        __init__.py
        settings.py
        urls.py
        asgi.py
        wsgi.py

查看服务器是否创建成功

命令行运行 

python manage.py runserver

 显示 Starting development server at http://127.0.0.1:8000/为创建成功

或带上端口号  python manage.py runserver 0.0.0.0:8000

创建应用

在 Django 中,每一个应用都是一个 Python 包,并且遵循着相同的约定。Django 自带一个工具,可以帮你生成应用的基础目录结构,这样你就能专心写代码,而不是创建目录了。

python manage.py startapp polls

编写第一个视图

在polls/views.py中写入

from django.http import HttpResponse


def index(request):
    return HttpResponse("Hello, world. You're at the polls index.")

polls/urls.py

from django.urls import path

from . import views

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

mysite/urls.py

from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path("polls/", include("polls.urls")),
    path("admin/", admin.site.urls),
]

 进入http://127.0.0.1:8000/polls/   即可看到Hello World

path(route: str, view: HttpRequest, kwargs: dict, name: str)

第二部分:设置

语言时区

打开mysite/settings.py 修改

LANGUAGE_CODE = 'zh-Hans'

TIME_ZONE = 'Asia/Shanghai'

数据库配置

打开mysite/settings.py 修改 DATABASES["default"]["ENGINE"]   可选值有{'django.db.backends.sqlite3''django.db.backends.postgresql''django.db.backends.mysql''django.db.backends.oracle'}

举例:

"default": {
    "ENGINE": "django.db.backends.postgresql",
    "NAME": "mydatabase", )。
    "USER": "mydatabaseuser",
    "PASSWORD": "mypassword",
    "HOST": "127.0.0.1","
    "PORT": "5432",
}

构建数据表

python manage.py migrate

运行代码后,python会根据settings.py中的设置,创建必要的数据库表

运行你的数据库的命令行客户端,输入 \dt (PostgreSQL), SHOW TABLES; (MariaDB,MySQL), .tables (SQLite)或 SELECT TABLE_NAME FROM USER_TABLES; (Oracle)来显示 Django 创建的表

创建模型(建表)

这一步简单来讲就是设计表->创建表

在这个投票应用中,需要创建两个模型:问题 Question 和选项 ChoiceQuestion 模型包括问题描述和发布时间。Choice 模型有两个字段,选项描述和当前得票数。每个选项属于一个问题。

这些概念可以通过一个 Python 类来描述。按照下面的例子来编辑 polls/models.py 文件:

from django.db import models


class Question(models.Model):
    question_text = models.CharField(max_length=200)
    pub_date = models.DateTimeField("date published")


class Choice(models.Model):
    question = models.ForeignKey(Question, on_delete=models.CASCADE)
    choice_text = models.CharField(max_length=200)
    votes = models.IntegerField(default=0)

 每个类表示一个数据表,每个类变量表示该数据表中的一个字段,models.xxxxField()表示该字段的数据类型

Django三种模型关系(一对一,一对多,多对多) 

{OneToOneField,ForeignField, ManyToManyField}

 on_delete 参数为删除时是否级联删除,参数范围如下

{CASCADE,PROTECT,SET_NULL,SET_DEFAULT,SET()}

作用如下:

{级联删除,删除报错,设空,设默认,设为括号内值}

激活模型

为了在我们的工程中包含这个应用,我们需要在配置类 INSTALLED_APPS 中添加设置。因为 PollsConfig 类写在文件 polls/apps.py 中,所以它的点式路径 'polls.apps.PollsConfig'

得到迁移数据 

接着运行下面的命令:

python manage.py makemigrations polls

会得到一个文件:polls/migrations/0001_initial.py 模型定义(数据结构)的迁移数据

查看要执行的SQL语句

该命令可以看到迁移命令会执行哪些 SQL 语句

python manage.py sqlmigrate polls 0001
 执行迁移

models.py的修改将同步到数据库中(更新数据库结构)

再次运行 migrate 命令,在数据库里创建新定义的模型的数据表:

python manage.py migrate

Django 管理页面

创建管理账号

首先,我们得创建一个能登录管理页面的用户。请运行下面的命令 并根据提示输入信息

python manage.py createsuperuser
向管理页面中加入投票应用

打开 polls/admin.py 文件,把它编辑成下面这样

from django.contrib import admin

from .models import Question
from .models import Choice

admin.site.register(Question)
admin.site.register(Choice)
进入管理站点
python manage.py runserver 

进入  127.0.0.1:8000/admin/ 输入账号密码 即可看到管理界面

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值