django admin是一种网页交互,方便管理后台数据的一个强大工具。
当我们数据库创建完毕之后,在进入admin页面之前,我们需要创建一个超级用户:
python manage.py createsuperuser ###通过这条命令创建一个超级用户
当我们设置好用户名,邮箱,密码之后,我们就可以在地址栏输入127.0.0.1:8000/admin进入后台管理页面
django给我们提供了默认样式。但这些样式通常不能满足我们的需求,通常我们需要自定义样式。
要把app应用显示在后台管理,需要在admin.py文件中进行注册。
我们有两种注册方式:
方式一:
admin.site.register(Question,QuestionAdmin)
方式二:通过装饰器进行注册
admin.register(QuestionAdmin)
自定义样式,也就是我们自定义一个类,让他继承ModelAdmin
from django.contrib import admin #点表示当前目录 from .models import BlogType,Blog # 装饰器注册,此外,我们还可以通过这种方式进行注册:admin.site.register(BlogType,BlogTypeAdmin) @admin.register(BlogType) #自定义类(自定义类一般是表名+Admin) class BlogTypeAdmin(admin.ModelAdmin): #list_display表示需要在后台显示的字段(一般list_display后面不允许加多对多关系) list_display=("id","category") @admin.register(Blog) class BlogAdmin(admin.ModelAdmin): list_display=("title","category","author","create_time","update_time") #指定搜索的字段 search_fields=("title","author") #定义排序字段,可以有多个排序, ordering=("-create_time",) #list_editable表示可编辑的字段 lsit_editable=("category",) #指定每页显示多少条记录 list_per_page=5; #指定列表过滤器 list_filter=("category",)
list_editable ###设置可编辑的字段 ordering ###设置可排序字段,可以设置多个字段,越往前,排序权重越高,在前面加负号表示降序排序
fk_fields ####设置显示外键字段
list_display_links ###设置可以进入编辑界面的字段
date_hirearchy ###详细时间分层筛选
一般ManyToManyField多对多字段采用过滤器;标题等文字采用搜索框,日期时间使用分层筛选。
admin后台管理默认是英文的,我们可以在setting.py中进行设置,将其修改为中文:
LANGUAGE_CODE="zh-hans" TIME_ZONE="Asia/Shanghai"###修改时区