Django 第九章 Admin后台系统

Admin后台系统主要对网站的信息进行管理,如文字、图片、影音和其他日常使用的文件的发布、更新、删除等操作,也包括功能信息的统计和管理,如用户信息、订单信息和访客信息等。

1.走进Admin

如果Admin后台系统以英文的形式显示,在项目settings中设置中间件MIDDLEWARE,将后台内容以中文形式显示。 ‘django.middleware.locale.LocaleMiddleware’ 添加的中间件是有先后顺序的。

    'django.middleware.security.SecurityMiddleware',#内置的安全机制,保护用户与网站的通信安全
    'django.contrib.sessions.middleware.SessionMiddleware',#会话Session功能
    'django.middleware.locale.LocaleMiddleware'#国际化和本地化
    'django.middleware.common.CommonMiddleware',#处理请求信息,规范化请求内容
    'django.middleware.csrf.CsrfViewMiddleware',#开启CSRF功能
    'django.contrib.auth.middleware.AuthenticationMiddleware',#开启内置的用户认证系统
    'django.contrib.messages.middleware.MessageMiddleware',#开启内置的信息提示功能
    'django.middleware.clickjacking.XFrameOptionsMiddleware',#防止恶意程序单击劫持

创建超级管理员的账号和密码

(base) E:\MyDjango>python manage.py createsuperuser
Username (leave blank to use 'emma'): admin
Email address:
Password:
Password (again):
This password is too short. It must contain at least 8 characters.
This password is too common.
This password is entirely numeric.
Bypass password validation and create user anyway? [y/N]: y
Superuser created successfully.

在这里插入图片描述

from index.models import PersonInfo
@admin.register(PersonInfo)
class PersonInfoAdmin(admin.ModelAdmin):
    list_display = ['id', 'name', 'age']

在这里插入图片描述
在ModelAdmin中定义了许多属性和方法,可以用于改变Admin后台页面的样式和布局,使得模型数据以特定的形式展示在Admin后台系统。

2.Admin首页设置

在这里插入图片描述在这里插入图片描述
INDEX对不会开发的使用者无法理解含义,在项目初始化文件中修改

import os

from django.apps import AppConfig
#修改App在Admin后台显示的名称
#default_app_config的值来自apps.py的类名
default_app_config = 'index.IndexConfig'
#获得当前APP的命名
def get_current_app_name(file):
    return os.path.split(os.path.dirname(__file__))[-1]
#重写 IndexConfig
class IndexConfig(AppConfig):
    name = get_current_app_name(__file__)
    verbose_name = '网站首页'

“人员信息s”是由模型属性Meta的verbose_name设置的,去掉代码如下:

class PersonInfo(models.Model):
    id = models.AutoField(primary_key=True)
    name = models.CharField(max_length=20)
    age = models.IntegerField()

    def __str__(self):
        return self.name
    class Meta:
        verbose_name = '人员信息'
        verbose_name_plural = '人员信息'

在这里插入图片描述
后台系统首页的设置包括:

  • 项目应用的显示名称:在项目应用的__init.__py中设置变量default_app_config,该变量指向自定义的IndexConfig类,由IndexConfig类的verbose_name属性设置项目应用的显示名称。
  • 模型的显示名称:在模型属性Meta中设置verbose_name和verbose_name_plural,两者的区别在于verbose_name是以复数形式表示的,若在模型中同时存在两个属性,则优先显示verbose_name_plural的值。
  • 网页标题:在项目应用admin.py中设置Admin的site_title和site_header属性,如果项目有多个项目应用,只需要在某个项目应用的admin.py中设置一次即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值