Django基础实例(2)

1.数据库配置

打开 mysite/settings.py ,这是包含Django项目设置的模块。这个文件默认使用Django内置的SQLite数据库。但当真正开始一个项目时,会更倾向于使用更具扩展性的数据库。

默认的数据库设置:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'db.sqlite3',
    }
}

使用mysql:
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': '<数据库名称>',
        'USER': '<数据库用户名>',
        'PASSWORD': '<数据库密码>',
        'HOST': '<数据库主机>',
        'PORT': '<数据库端口>',
    }
}

如果使用了SQLite以外的数据库,请确认在使用前已经创建了数据库
创建数据库后(以mysql为例,此时数据库为空),上述信息填写完整后,在manage.py所在目录命令行运行

python manage.py migrate

运行结束后查看数据库,此时数据库中自动创建了一些表。

 mysite/settings.py文件头部自带 INSTALLED_APPS 设置项,自带一些默认的应用,
 这些应用中有部分需要表才能使用,在执行上述python manage.py migrate命令时,会自动创建
 部分需要的表。这些应用如果无需使用,可以删除。

编辑 mysite/settings.py 文件前,先设置 TIME_ZONE 为你自己时区
例如:TIME_ZONE = ‘Asia/Shanghai’

2.创建模型

投票应用中,两个模型,问题question和选项choice。question包括问题描述与发布时间,choice包括选项描述和当前得票数,每个选项属于一个问题。
编辑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)
    # ForeignKey :每个Choice对象都关联到一个Question对象
    choice_text = models.CharField(max_length=200)# 最大长度:200
    votes = models.IntegerField(default=0) # 默认值:0

每个模型被表示为 django.db.models.Model 类的子类,所以需要继承models.Model

激活模型

为了使得项目包含这个应用,需要在 INSTALLED_APPS 中添加设置

INSTALLED_APPS = [
    "polls.apps.PollsConfig", #  PollsConfig 类写在文件 polls/apps.py
    "django.contrib.admin",
    "django.contrib.auth",
    "django.contrib.contenttypes",
    "django.contrib.sessions",
    "django.contrib.messages",
    "django.contrib.staticfiles",
]

接着运行下面的命令

python manage.py makemigrations polls

运行 makemigrations 命令,Django 会检测你对模型文件的修改(在这种情况下,你已经取得了新的),并且把修改的部分储存为一次 迁移

迁移:是 Django 对于模型定义(也就是你的数据库结构)的变化的储存形式

改变模型需要这三步:

  • 编辑 models.py 文件,改变模型。
  • 运行 python manage.py makemigrations 为模型的改变生成迁移文件。
  • 运行 python manage.py migrate 来应用数据库迁移。

介绍django的管理员界面

创建一个能登录管理页面的用户

python manage.py createsuperuser

然后按照要求输入用户名,邮件,以及密码

启动开发服务器

python manage.py runserver

进入地址,出现登录界面

http://127.0.0.1:8000/admin/

进入管理界面

输入刚才创建的账号,密码进入管理界面
在这里插入图片描述

向管理页面中加入投票应用

我们得告诉管理,问题 Question 对象需要一个后台接口。打开 polls/admin.py 文件,把它编辑成下面这样

from django.contrib import admin

from .models import Question

admin.site.register(Question)

现在我们向管理页面注册了问题 Question 类。Django 知道它应该被显示在索引页里
刷新页面,会出现Question类的索引
自行点击去探索

原网页地址:https://docs.djangoproject.com/zh-hans/4.2/intro/tutorial02/

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值