当前位置:   article > 正文

[Django] 后台管理系统_django 后台管理系统

django 后台管理系统

浏览之前,请先阅读以下文章

1.Django项目创建

2.Django路由系统


在项目目录下的urls.py文件中,我们会看到这样一个url的配置

启动服务,在浏览器中输入网址http://127.0.0.1:8000/admin/,结果如下 

Django提供了一个非常强大的管理后台,只需要几行命令就可以生成一个后台管理系统

按下<Ctrl + C>组合键关闭服务,我们在终端执行以下命令来创建一个管理员账号

  1. python manage.py migrate
  2. # 按照提示输入账户和密码,密码强度符合一定的规则要求
  3. python manage.py createsuperuser

效果如下图所示

创建完成后,重新启动服务器,在浏览器中访问网址https://127.0.0.1:8000/admin/,即可访问Django提供的项目后台登录页

Django项目后台登录界面

使用刚刚创建的用户名和密码进行登录,即可看到后台的管理界面

Django项目后台管理界面

提示Tips: 管理界面不是为网站的访问者准备的,而是为管理者准备的

自定义管理页面 

在article/model.py文件中定义好数据模型

  1. from django.db import models # 引入django.db.models模块
  2. class User(models.Model):
  3. """
  4. User模型类,数据模型应该继承于models.Model或其子类
  5. """
  6. id = models.IntegerField(primary_key=True) # 主键
  7. username = models.CharField(max_length=30) # 用户名,字符串类型
  8. email = models.CharField(max_length=30) # 邮箱,字符串类型
  9. class Article(models.Model):
  10. """
  11. Article模型类,数据模型应该继承于models.Model或其子类
  12. """
  13. id = models.IntegerField(primary_key=True) # 主键
  14. title = models.CharField(max_length=120) # 标题,字符串类型
  15. content = models.TextField() # 内容,文本类型
  16. publish_date = models.DateTimeField() # 出版时间,日期时间类型
  17. user = models.ForeignKey(User, on_delete=models.CASCADE) # 设置外键

修改article/admin.py配置文件,在admin.py文件中,创建UserAdmin和ArticleAdmin后台控制模型类,全部继承admin.ModelAdmin类,并设置属性,最后将数据模型绑定到管理后台

  1. from django.contrib import admin
  2. from .models import User, Article
  3. class UserAdmin(admin.ModelAdmin):
  4. """
  5. 创建UserAdmin类,继承于admin.ModelAdmin
  6. """
  7. # 配置展示列表,在User板块下的列表展示
  8. list_display = ('username', 'email')
  9. # 配置过滤查询字段,在User板块下的右侧右侧过滤框
  10. list_filter = ('username', 'email')
  11. # 配置可以搜索的字段,在User板块下的右侧搜索框
  12. search_fields = (['username', 'email'])
  13. class ArticleAdmin(admin.ModelAdmin):
  14. """
  15. 创建ArticleAdmin类,继承于admin.ModelAdmin
  16. """
  17. # 配置展示列表,在Article板块下的列表展示
  18. list_display = ('title', 'content', 'publish_date')
  19. # 配置过滤查询字段,在Article板块下的右侧右侧过滤框
  20. list_filter = ('title',)
  21. # 配置可以搜索的字段,在Article板块下的右侧搜索框
  22. search_fields = ('title',)
  23. # 绑定User模型到UserAdmin管理后台
  24. admin.site.register(User, UserAdmin)
  25. # 绑定Article模型到ArticleAdmin管理后台
  26. 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页面的情况

  1. python manage.py makemigrations
  2. python manage.py migrate

我们新增下述article信息,结果如下图所示

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/113438
推荐阅读
相关标签
  

闽ICP备14008679号