1. 创建超级用户
需要在执行完创建数据库之后,根据提示创建 python manage.py createsuperuser
Django Admin 访问地址:http://127.0.0.1:8000/admin
1.1. 管理后台模板
复写模板:可以从 Django 源文件(目录:django/contrib/admin/templates/admin/),复制到 manage.py 所在文件夹下的 templates/admin/ 目录下。
源文件位置可以通过 python -c "import django; print(django.__path__)"
查找。
2. 应用 admin.py 样例
from django.contrib import admin
from .models import Question, Choice # 引入需要管理的模型
# 对于 Choice 模型,有以下两个方式:
# 1. 直接作为单独项管理
admin.site.register(Choice)
# 2. 将 Choice 作为关联项给 Question
class ChoiceInline(admin.TabularInline):
model = Choice
extra = 3
# 第一步:创建一个模型后台类
class QuestionAdmin(admin.ModelAdmin):
fields = ['pub_date', 'question_text'] # 字段排序
fieldsets = [ # 字段集,可排序,也可整合成集
(None, {'fields':['question_text']}), # (字段集名称, {'field':['']})
('日期信息', {'fields':['pub_date'], 'classes':['collapse']}),
]
inlines = [ChoiceInline] # Choice 对象要在 Question 后台页面编辑。默认提供 3 个足够的选项字段。
list_display = ('question_text', 'pub_date', 'was_recently_published')
# 后台展示字段,修改默认显示效果,在Model修改
list_filter = ['pub_date'] # 管理页面右边的过滤器,根据发布时间
search_fields = ['question_text'] # 根据问题内容进行搜索(可以使用多个字段)
# 第二步:将其作为第二个参数传给 register()
admin.site.register(Question, QuestionAdmin)