Django 教程——数据库与管理员页面

Django 教程——目录

将昨天的更改生效

晚上好!现在是10点半,我在这里和大家一起写代码!
首先明确一点,就是我们目前的更改还没有写入数据库里。
所以说,今天的第一个任务,就是写入更改。

在项目文件夹里运行以下命令,这句的意思是生成将更改写入数据库里的脚本,实际还没有更改。

python manage.py makemigrations note

啊这······
Django 有一个要求,就是如果要定义 modelAPP,都要在项目登记一下。
我们现在就去登记吧。

# 没问题的话,应该在 <你的项目名>/settings.py 的 INSTALLS_APPS 里面增加:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    # 上面为 Django 自带,无需更改
    # 我们自己的 APP
    'note',
]

现在,在执行一遍:

python manage.py makemigrations note

没有问题!

刚才我们创立了迁移用的脚本,还没有实际迁移到我们的数据库里,我们来做实际更改:

python manage.py migrate

然后就好了!

TIPS:你们可能发现了,我们并没有指定更改 note 这个 APP。这是因为 Django 自带的很多 APP 就需要更改,于是就一起更改了。

在管理员页面编辑 model

由于 model 的编辑比较复杂,我们先学习一下如何在 Django 自带的管理员页面编辑笔记。
请打开 note APP 下的 admin.py

TIPS:还记得吗?这玩意是主管管理员界面发生的事的。

我们现在要将 Note 这个 model 注册进管理员页面。

from django.contrib import admin
from .models import Note

# Register your models here.

admin.site.register(Note)

接下来只讲解我们自己添加的行:

Line 2:这一行是导入在同一目录下的 models 模块。 models 模块是什么?就是我们的 models.py 文件。
我们从 models.py 文件中导入我们昨天写的 model Note

Line 6adminDjango 一个自带的类,它负责来管理管理员页面。
这个类负责将 model 登记进管理员页面的小弟叫做 admin.site.register()
我们调用这个小弟,来将我们的 Note 登记进管理员页面里。

好了,我们要将 Note 登记进管理员页面的步骤走完了,重新启动项目:

python manage.py runserver

我们来访问 http://127.0.0.1:8000/admin

怎么还需要账号密码呀?
停!我们忘记了一步:就是创建管理员的账号密码!
Ctrl-C 停掉项目,然后马上创建!

python manage.py createsuperuser

然后输入姓名,邮箱(随便填),密码,重复密码,然后完事。

TIPS:你可能会发现,输入密码时不会有任何显示。放心,不是新电脑太卡了,而是因为命令行的一点历史遗留问题,没有显示。你的输入它还是会正常读入的。

然后,我们要重新启动应用了:

python manage.py runserver

重新访问 http://127.0.0.1:8000/admin,输入账号密码:

哇!成功了:

我们现在就可以打开 Note 类,直接添加和编辑了!
好了,明天见!

各位如果觉得节奏太慢,请在评论区里指出
让我看看有多少人喜欢这种《30天自制操作系统》的风格

posted on 2022-05-27 23:06  超能少年飞  阅读(140)  评论(0)    收藏  举报