django框架(九)——admin后台

一、admin后台的引入

当我们创建好项目时,我们会看到项目目录下的urls.py中有如下路由配置:

from django.urls import path
from django.contrib import admin

urlpatterns = [
	path('admin/', admin.site.urls)
]

那么,它到底时何方神圣呢??不妨访问下试试看,可以看到如下界面
在这里插入图片描述
当然你的也有可能是英文界面,要想变成中文界面,只需在settings.py中设置以下两项即可!

LANGUAGE_CODE = 'zh-hans'

TIME_ZONE = 'Asia/Shanghai'

这里需要用账号密码登录,哪里来的账号密码呢?这时我们就需要自己手动创建超级用户了,这个电子邮件地址可不填
在这里插入图片描述
创建好了就开始登录吧,可看到如下界面,students跟student detail又分别是什么呢??是不是有点熟悉的感觉,没错,就是我们之前定义好的model
在这里插入图片描述

二、介绍Django管理页面

  • 为你的员工或客户生成一个用户添加、修改和删除内容的后台是一项缺乏创造性和乏味的工作,因此,Django全自动的根据模型创建后台界面
  • Django产生于一个公众页面和内容发布者页面完全分离的新闻类站点的开发过程中,站点管理人员使用管理系统来添加新闻,事件和体育时讯等,这些添加的内容被显示在公众页面上,Django通过为站点管理人员创建统一的内容编辑界面解决了这个问题
  • 管理界面不是为了网站的访问者,而是为了管理者准备的

三、向admin中注册模型

在app目录下有个admin.py的文件,在这个文件中注册模型

from django.contrib import admin
from .models import Student, StudentDetail

# Register your models here.


class StudentAdmin(admin.ModelAdmin):
    list_display = ['id', 'name', 'age', 'sex', 'qq', 'phone']
    search_fields = ['name', 'qq', 'phone']
    list_filter = ['sex', 'c_time']
    list_per_page = 5
    # fields = ['name', 'sex', 'age', 'qq', 'phone', 'grade']
    fieldsets = [
        (None, {'fields': ['name']}),
        ('详细信息', {'fields': ['age', 'sex', 'qq', 'phone']}),
        ('设置', {'fields': ['is_delete']})
    ]

# 注册模型,StudentAdmin也要注册
admin.site.register(Student, StudentAdmin)
admin.site.register(StudentDetail)

四、自定义管理页面

Django提供了admin.ModelAdmin类,通过定义ModelAdmin的子类,来定义模型在admin界面的显示方式

属性解释说明
list_display列表页显示的字段 ,可点击列头进行排序
list_filter过滤字段,过滤框会出现在右侧
search_fields可通过设置的字段进行搜索,搜索框会出现在上侧
list_display_links可通过点击设置的字段来进入编辑界面
list_per_page每页所显示的数据量,用于分页,分页框会出现在下侧
fields编辑页面展示的字段,分先后顺序
fieldsets属性分组,fields与fields_set两者只能有其一

在这里插入图片描述
如上图所示,这是上面admin.py中代码设置的效果,再来看看编辑页面
当我们使用fields的时候
在这里插入图片描述
当使用fieldsets的时候,编辑页面是这样的
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值