介绍
前言
通过模型我们可以进行数据库的操作,如果我们想要对数据表中的数据进行操作还需要单独的开发接口,颇有不方便,今天我们来通过Django提供的管理工具来编辑模型数据。
Django 为我们提供了强大的工具,可以全自动地根据模型创建后台管理界面
django.contrib 是一套庞大的功能集,它是 Django 基本代码的组成部分,而 Django 自动管理工具是 django.contrib 的一部分
管理工具的运用
使用管理工具
还是以我们之前的score应用为例,里面有两个模型 student和address
class Student(models.Model):
# 模型类中不需要指定 id字段,会自动生成
# 数据库的可变字符串类型 varchar(20)
name = models.CharField(max_length=20)
age = models.IntegerField()
create_time = models.DateTimeField('创建时间')
class Address(models.Model):
# CASCADE:当父表数据删除时,相对应的从表数据会被自动删除
student = models.ForeignKey(Student, on_delete=models.CASCADE)
detail = models.CharField(max_length=200)
修改配置文件
在项目 TestDjango 目录下找到 settings.py 文件 ,打开编辑 INSTALLED_APPS 并增加 django.contrib.admin 等相关项(创建默认就有,无需更改)
# TestDjango/settiongs.py
INSTALLED_APPS = [
'score.apps.ScoreConfig', #新增polls路径
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
配置访问路径
修改同级目录的 urls.py 文件,用来配置管理工具的访问路径。(创建默认就有,无需更改)
# TestDjango/urls.py
from django.contrib import admin
from django.urls import path,include
urlpatterns = [
path('score/', include('score.urls')),
path('admin/', admin.site.urls),
]
运行管理工具
和之前一样,先通过命令 python manage.py runserver 127.0.0.1:8080 启动本地 server,然后通过访问 URL http://127.0.0.1:8080/admin 就可以跳转到管理工具登陆页面
初始化用户
初始化用户需要执行命令: python manage.py createsuperuser,然后根据命令提示完成初始化
python manage.py createsuperuser
初始化完后,使用该用户密码进行登录,登录成功进入以下界面
应用的管理与操作
登陆成功后,在管理页只看到用户和组相关的管理内容,这是管理工具自带的应用,并没有看到之前我们创建的 score 应用,添加我们自己的应用需要修改以下文件
管理页面添加score应用
首先修改 score 应用下的 admin.py 文件,增加如下代码:
# score/admin.py
from django.contrib import admin
from score.models import Student,Address
# 注册两个模型
admin.site.register(Student)
admin.site.register(Address)
添加完后,重新刷新管理页面就可以看到我们的score应用的模型管理界面了
操作score应用
点击 学生表 模型对应的增加按钮,跳转到数据新增页面,并填写学生相关信息
保存后,数据库的学生表中会新增一条记录,同时该页面会跳转到列表页面
除了新增,还可以对数据进行修改和删除操作,你可以在列表中点击要操作的记录,然后就跳转到修改和删除页面,如下图所示:
注
-
这个表单是从学生 Student 模型中自动生成的
-
不同的字段类型(日期时间字段 DateTimeField 、字符字段 CharField)会生成对应的 HTML 输入控件
按钮的作用
-
保存:保存改变,然后跳转对象列表
-
保存并继续编辑:保存改变,然后重新载入当前对象的修改界面
-
保存并新增:保存改变,然后添加一个新的空对象并载入修改界面。
-
删除:跳转确认删除页面,确认后删除数据
程序猿与投资生活实录已改名为 程序猿知秋,WX 公众号同款,欢迎关注!!