个人博客开发-02(基于Python-3.8 + Django-2.2):后台管理系统完善

4.后台管理系统完善

在终端使用python manage.py runserver 80运行这个Django项目,在浏览器查看到如下页面,代表前面的配置都是ok的
在这里插入图片描述

  • 接下来我们进入后台管理系统(Django为我们自行生成了后台管理系统),在本地环境下,路由后加 127.0.0.1/admin,按回车即可进入,进入登录界面
  • 在终端中创建超级管理员python manage.py createsuperuser,回车后根据提示输入用户名和密码
  • 登录到后台管理界面,可以看到显示的是Django自由的认证和授权,接下来要进行后台管理界面开发
    在这里插入图片描述
  1. 注册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可以根据列表中的列名查询数据

在这里插入图片描述

  1. 修改中文显示
  • 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():
  • (这一步骤在创建模型类时我就已经添加了,但是需要知道这一部分的作用)

在这里插入图片描述
修改之后界面如下:
在这里插入图片描述
此时界面显示就很友好了,也可以点击进入查看我们设置的过滤器和搜索框

  1. 查看设置效果
  • 添加博客种类
    在这里插入图片描述
  • 添加标签
    在这里插入图片描述
  • 添加一篇博客
    在这里插入图片描述
    可以发现此处选择外键时显示的是object对象,对后台操作来说并不友好,需要让其显示中文,在模型类下加入方法
def __str__(self):
    return self.name

这一步在之前创建模型类时也已经添加~

修改之后再下拉选择框,就可以看到标签名、种类名、用户昵称,return 返回的对象即显示的内容

  • 增加评论
    在这里插入图片描述
    至此我们已经完成了后台管理界面的开发,可以在后台中对数据库进行相应的操作,并使界面友好显示。快去添加文章试试吧!

后台管理参考博客:

  1. Django——admin功能、注册模型类、模型管理类
  2. Django模型之Meta选项详解
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值