一、Dajngo的admin模块
过渡:Django框架前面的一些介绍已说明了Django链接数据库,创建数据表,通过python代码对数据进行增删改查,下面介绍通过Django界面进行数据操作(增删改查)。
models操作数据库的链接:https://blog.csdn.net/ak739105231/article/details/95308794
步骤一:在admin.py文件中Register 所有的models里面的数据表
首先,创建一个Django Project 添加一个app,都会默认包含admin.py,里面默认显示两句话:
from django.contrib import admin
#Register your models here
要想在界面上进行数据库表的数据操作,需要将你在models里面定义的class(即:表),Register在admin.py中;方式如下:
admin.site.register(models.表名)
步骤二:注册Django Project的超级管理员账号;
python manage.py createsuperuser
然后,填写Username 、Email 、Password
步骤三:使用创建的账号登录Django后台
1.python manage.py runserver 端口号
2.浏览器访问127.0.0.1:端口号/admin
3.输入账号登录,即可看到创建的表,也可创建其他User 记住创建的User需要勾选staff status 才可登录Django后台。
二、admin的自定制显示
由于上面Django后台界面对数据表的展示不是已列表的形式显示,不是很方便操作;
因此,我们可以自己定制显示形式、以及是否运行直接编辑(id字段不可编辑),下面是两种方式对比:
list_display显示效果:
若数据多了,可以设置分页(Django默认20条),我们可以设置;数据多了,我们需要搜索;也需要过滤
显示结果:
备注上admin.py代码:
from django.contrib import admin
# Register your models here.
from demo_one import models
##########################################普通显示#############################################################
# admin.site.register(models.Author)
# admin.site.register(models.Book)
###########################################自定制显示###########################################################
#定义类,类名一般是:表名Admin,继承admin.ModelAdmin
class BookAdmin(admin.ModelAdmin):
list_display = ("id","name","price","pub_date","author")#列表显示字段,字段来源models
list_editable = ("name","price","pub_date","author")#是否可编辑
#filter_horizontal = ("author",)#如果一条数据的一个字段可能有多个值,就用这个进行筛选
list_per_page = 5 #分页
search_fields = ("id","name","price")#表里面的数据条数多了,需要筛选,设置筛选字段
list_filter = ("pub_date",)#过滤条件
admin.site.register(models.Author)
admin.site.register(models.Book,BookAdmin)#这样后,Django后台就可以列表形式显示