[Django] 后台管理系统
浏览之前,请先阅读以下文章
在项目目录下的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信息,结果如下图所示
相关文章
- Django中图形验证码(django-simple-captcha)
- Django配置url地址访问不同的页面
- C#/Sqlite-SQLite PetaPoco django 打造桌面程序
- 在后台运行 django的基本方法
- 「基于Django的全民健康智慧中医数字服务平台」前端应用API接口功能(一)
- Python新闻网站项目-6.Django内容后台管理系统配置
- 「Django 3.x 框架」前端模板获取 for 循环小结
- 如何使用 django-import-export + pandas 在 Django 视图中导入 excel 数据
- 如何使用 django-import-export + pandas 在 Django 视图中导入 excel 数据
- 毕业设计 Django大数据投标管理与可视化系统
- django错误总结
- Python学习---django之ORM的增删改查180125
- Django: 使用django-rest-framework-jwt时自定义user表(且未继承auth.user表)
- Django Rest framework后端接口框架,常用的子类视图
- ajax方式上传图片到Django后台
- 前台通过form表单向Django后台传输数据,Django处理后返回给前台
- Django中使用后台网站模板
- Django+Vue项目学习第九篇:vue项目部署到服务器
- Django学习路14_获取数据库中用户名字并展示,获取指定条数
- Django学习路10_创建一个新的数据库,指定列名并修改表名
- Django开发示例配置及系列常见错误,如:AttributeError: module 'django.core.serializers.json' has no attribute 'loads'