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 样例

  1. from django.contrib import admin
  2. from .models import Question, Choice # 引入需要管理的模型
  3. # 对于 Choice 模型,有以下两个方式:
  4. # 1. 直接作为单独项管理
  5. admin.site.register(Choice)
  6. # 2. 将 Choice 作为关联项给 Question
  7. class ChoiceInline(admin.TabularInline):
  8. model = Choice
  9. extra = 3
  10. # 第一步:创建一个模型后台类
  11. class QuestionAdmin(admin.ModelAdmin):
  12. fields = ['pub_date', 'question_text'] # 字段排序
  13. fieldsets = [ # 字段集,可排序,也可整合成集
  14. (None, {'fields':['question_text']}), # (字段集名称, {'field':['']})
  15. ('日期信息', {'fields':['pub_date'], 'classes':['collapse']}),
  16. ]
  17. inlines = [ChoiceInline] # Choice 对象要在 Question 后台页面编辑。默认提供 3 个足够的选项字段。
  18. list_display = ('question_text', 'pub_date', 'was_recently_published')
  19. # 后台展示字段,修改默认显示效果,在Model修改
  20. list_filter = ['pub_date'] # 管理页面右边的过滤器,根据发布时间
  21. search_fields = ['question_text'] # 根据问题内容进行搜索(可以使用多个字段)
  22. # 第二步:将其作为第二个参数传给 register()
  23. admin.site.register(Question, QuestionAdmin)