第二章:Djgo后台管理

第一节:站点后台管理

对工程项目数据进行日常的管理工作,不可能事事依赖程序员进行代码操作,应该人人都可以操作,不需要代码,会管理即可。因此Django中有默认集成了后台数据管理页面,通过简单的配置就可以实现模型后台的Web控制台;
管理界面通常是给系统管理员使用的,用来完成数据的输入、删除、查询等工作;

Django默认已经集成了后台管理,如果没有集成,自己在settings中的INSTALLED_APPS添加‘django.contrib.admin’应用即可,即在settings.py中插入以下代码:

INSTALLED_APPS = [
    ...
    'django.contrib.admin',
    ...
]

超级用户(管理员)的创建

# 创建超级用户
python manage.py createsuperuser

# 配置管理员名称
root

# 配置管理员邮箱
xxxxx @ xxx.com

# 配置管理员密码(密码格式必须8位且非纯数字组成)
root123456

# 登陆后台管理系统
127.0.0.1:8000/admin

设置管理界面的语言和时区

在这里插入图片描述在这里插入图片描述

注册原数据模型(表名)

在这里插入图片描述在这里插入图片描述
注:此时注册好的数据据模型返回的只是一个对象,对象内容由Model的 '__str__' 决定!

创建个性化管理类并注册模型

现在能有我们想要的表了,但是显示的内容或许不是我们想要的,或许我们想要更多的信息,或都过滤掉某些信息,此时便需要个性化管理。

参考规则(可追ModelAdmin查看)

功能 参考代码
显示字段 list_display = ()
过滤字段 list_filter = ()
搜索字段 search_fields = ()
分页 list_per_page = xx
每页最大数 list_max_show_all = xx
排序规则 ordering
设置显示标题 xxx.short_description

分组显示参考

fieldsets = ( 
      ('班级',{fields:('sgrade')}), 
      ('姓名',{fields:('sname')}) 
)

布尔值定制参考:

def function(self): 
        if self.xxxx: 
            return 'A' 
        else: 
            return 'B' 

例:
在这里插入图片描述在这里插入图片描述

扫描二维码关注公众号,回复: 4926753 查看本文章

插入管理类时默认同时插入数据

一对多关系中,我们在插入一个群体时希望也可设置同时插入个体内容,这样不需再分别进行个体的操作,非常方便,就可以用些方法进行设置

例:本案例中在插入班级时设置同时也可插入学生
在这里插入图片描述在这里插入图片描述

第二节:修改站点后台管理样式

修改跳转主页和标题内容

可重写的属性参考

可修改部位 参考代码 备注
头部标题 site_header
页面名称 site_title
跳转主页 site_url 默认’ / ’

1、继承AdminSite,重写站点内容并自定义站点对象
在这里插入图片描述
2、修改路由的新站点对象
在这里插入图片描述
执行结果
在这里插入图片描述

自定义后台页面样式

1、找出系统模板位置并复制出来

django/contrib/admin/templates/admin/xxx.html

2、创建相对应的工程目录并复制模板
在这里插入图片描述
注意:Django是以就近原则寻找admin下的模板

3、添加自己的代码样式

例:简单修改登录的颜色样式
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/xiangchi7/article/details/85629113
今日推荐