4.后台管理系统完善
在终端使用python manage.py runserver 80
运行这个Django项目,在浏览器查看到如下页面,代表前面的配置都是ok的
- 接下来我们进入后台管理系统(Django为我们自行生成了后台管理系统),在本地环境下,路由后加 127.0.0.1/admin,按回车即可进入,进入登录界面
- 在终端中创建超级管理员
python manage.py createsuperuser
,回车后根据提示输入用户名和密码 - 登录到后台管理界面,可以看到显示的是Django自由的认证和授权,接下来要进行后台管理界面开发
- 注册apps,在子应用下的 admin.py 中注册apps,将其添加到后台管理系统中;
from django.contrib import admin
from .models import Category, Tag, Blog, Comment
# 后台管理系统的标题配置
admin.site.site_header = '个人博客后台管理'
admin.site.index_title = '后台系统'
admin.site.site_title = '管理'
# Register your models here.
@admin.register(Category)
class CategoryAdmin(admin.ModelAdmin):
list_display = ['name'] # 展示的字段
list_filter = ['name'] # 过滤器,根据列表中的字段过滤显示信息
search_fields = ['name'] # 搜索框,可以根据列表中的字段进行搜索
@admin.register(Tag)
class TagAdmin(admin.ModelAdmin):
list_display = ['name']
list_filter = ['name']
search_fields = ['name']
@admin.register(Blog)
class BlogAdmin(admin.ModelAdmin):
list_display = ['blogTitle', 'category', 'createDatetime', 'viewsCount', 'commentsCount']
fields = ['blogTitle', 'category', 'createDatetime', 'text', 'tags', 'imgName']
list_filter = ['blogTitle', 'category']
search_fields = ['blogTitle', 'category']
@admin.register(Comment)
class CommentAdmin(admin.ModelAdmin):
list_display = ['nickname', 'email', 'created_time']
修改完成如下图,接下来修改后台管理界面的标题等,并将英文显示改为中文
补充:管理模型类下各关键词含义
字段 | 含义 |
---|---|
list_display | 后台中显示的列名 |
fields | 在后台添加数据显示的列 |
list_filter | 可以根据该列表中的列名筛选数据 |
search_fields | 可以根据列表中的列名查询数据 |
- 修改中文显示
- admin.py中加入
# 后台管理系统的标题配置
admin.site.site_header = '个人博客后台管理'
admin.site.index_title = '后台系统'
admin.site.site_title = '管理'
- 在apps.py下加入 verbose_name =
~/blog/apps.py
from django.apps import AppConfig
class BlogConfig(AppConfig):
name = 'blog'
verbose_name = '博客管理'
- 在模型类下加入class Meta():
- (这一步骤在创建模型类时我就已经添加了,但是需要知道这一部分的作用)
修改之后界面如下:
此时界面显示就很友好了,也可以点击进入查看我们设置的过滤器和搜索框
- 查看设置效果
- 添加博客种类
- 添加标签
- 添加一篇博客
可以发现此处选择外键时显示的是object对象,对后台操作来说并不友好,需要让其显示中文,在模型类下加入方法
def __str__(self):
return self.name
这一步在之前创建模型类时也已经添加~
修改之后再下拉选择框,就可以看到标签名、种类名、用户昵称,return 返回的对象即显示的内容
- 增加评论
至此我们已经完成了后台管理界面的开发,可以在后台中对数据库进行相应的操作,并使界面友好显示。快去添加文章试试吧!
后台管理参考博客: