赞
踩
浏览之前,请先阅读以下文章
在项目目录下的urls.py文件中,我们会看到这样一个url的配置
启动服务,在浏览器中输入网址http://127.0.0.1:8000/admin/
,结果如下
Django提供了一个非常强大的管理后台,只需要几行命令就可以生成一个后台管理系统
按下<Ctrl + C>组合键关闭服务,我们在终端执行以下命令来创建一个管理员账号
- python manage.py migrate
- # 按照提示输入账户和密码,密码强度符合一定的规则要求
- python manage.py createsuperuser
效果如下图所示
创建完成后,重新启动服务器,在浏览器中访问网址https://127.0.0.1:8000/admin/,即可访问Django提供的项目后台登录页
使用刚刚创建的用户名和密码进行登录,即可看到后台的管理界面
提示Tips: 管理界面不是为网站的访问者准备的,而是为管理者准备的
自定义管理页面
在article/model.py文件中定义好数据模型
- from django.db import models # 引入django.db.models模块
-
- class User(models.Model):
- """
- User模型类,数据模型应该继承于models.Model或其子类
- """
- id = models.IntegerField(primary_key=True) # 主键
- username = models.CharField(max_length=30) # 用户名,字符串类型
- email = models.CharField(max_length=30) # 邮箱,字符串类型
-
- class Article(models.Model):
- """
- Article模型类,数据模型应该继承于models.Model或其子类
- """
- id = models.IntegerField(primary_key=True) # 主键
- title = models.CharField(max_length=120) # 标题,字符串类型
- content = models.TextField() # 内容,文本类型
- publish_date = models.DateTimeField() # 出版时间,日期时间类型
- user = models.ForeignKey(User, on_delete=models.CASCADE) # 设置外键
修改article/admin.py配置文件,在admin.py文件中,创建UserAdmin和ArticleAdmin后台控制模型类,全部继承admin.ModelAdmin类,并设置属性,最后将数据模型绑定到管理后台
- from django.contrib import admin
- from .models import User, Article
-
- class UserAdmin(admin.ModelAdmin):
- """
- 创建UserAdmin类,继承于admin.ModelAdmin
- """
- # 配置展示列表,在User板块下的列表展示
- list_display = ('username', 'email')
- # 配置过滤查询字段,在User板块下的右侧右侧过滤框
- list_filter = ('username', 'email')
- # 配置可以搜索的字段,在User板块下的右侧搜索框
- search_fields = (['username', 'email'])
-
- class ArticleAdmin(admin.ModelAdmin):
- """
- 创建ArticleAdmin类,继承于admin.ModelAdmin
- """
- # 配置展示列表,在Article板块下的列表展示
- list_display = ('title', 'content', 'publish_date')
- # 配置过滤查询字段,在Article板块下的右侧右侧过滤框
- list_filter = ('title',)
- # 配置可以搜索的字段,在Article板块下的右侧搜索框
- search_fields = ('title',)
-
- # 绑定User模型到UserAdmin管理后台
- admin.site.register(User, UserAdmin)
- # 绑定Article模型到ArticleAdmin管理后台
- admin.site.register(Article, ArticleAdmin)
提示Tips
① 在admin.py这个文件中注册需要在后台管理页面显示的模型,如果不注册就不会显示
② Django提供了admin.ModelAdmin类,通过定义ModelAdmin的子类,来定义模型在Admin界面的显示方式
③ 设置属性list_filter, search_fields可以是列表或元组
④ 调用admin.site.register方法进行注册
配置完成后,启动开发服务器,在浏览器中再次输入网址https://127.0.0.1:8000/admin/,将会在后台面板中新增一个ARTICLE类管理,下面有Articles和Users 2个模型
我们选中一个模型,就可以实现对模型的增删改查等相应的操作。例如,单击"Articles"模型右侧的【添加】按钮,即可执行新增文章信息的操作
提示Tips:单击"Articles"模型右侧的【添加】按钮后,如果无法弹出上述页面,出现类似以下这种django.db.utils.OperationalError: no such table: article_user的错误,我们需要在终端执行以下两段命令即可解决无法加载增加article页面的情况
- python manage.py makemigrations
- python manage.py migrate
我们新增下述article信息,结果如下图所示
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。