数据模型注册的三种方式
1. admin.site.register(模型类名称)
# admin.py
# ------------------------------------
from django.contrib import admin
from .models import *
# Register your models here.
admin.site.register(FoodsList)
2. 数据管理类
# admin.py
#------------------------------------
from django.contrib import admin
from .models import *
# Register your models here.
#数据管理类
class AuthorAdmin(admin.ModelAdmin):
#这里写配置项
pass
#指定数据模型,并绑定数据管理类
admin.site.register(Author,AuthorAdmin)
3.通过django内部的装饰器
#admin.py
# -------------------------
@admin.register(FoodsList)
class FoodAdmin(admin.ModelAdmin):
#这里写配置项
pass
常见配置说明:
1. list_display 配置列表页面的展示字段
@admin.register(Userinfo)
class UserinfoAdmin(admin.ModelAdmin):
list_display = ["user_name","tel_phone","address","image",'email']

2. list_display_links指定链接属性
@admin.register(Userinfo)
class UserinfoAdmin(admin.ModelAdmin):
list_display_links = ['tel_phone'] #指定链接属性,如果不配置默认是第一列可以点击

3.list_editable 指定列表页面可以编辑的属性
......
list_editable = ["email"] #配置列表页面的可编辑项

4.list_filter 配置列表右侧的筛选项
......
list_filter = ['tel_phone'] #配置筛选项(过滤条件)

5. list_per_page分页显示条数限制
......
list_per_page = 5 #分页显示条数限制

6.ordering 配置排序字段
......
ordering = ["email"] #配置排序项

7. fields设置编辑字段
......
#设置编辑字段,可以使用元组分组,使同组的同行展示
fields = (("user_name","tel_phone"),("address","image"),"email")

8.exclude排除编辑字段
......
exclude = ["user_name"] #排除新增和编辑字段 ,与fields的作用恰好相反,一般不与fields同时使用


!!!!!!!!
注意: 如上图: exclude会在新增和编辑时均将配置字段排除,使用时需要注意
9.fieldsets 设置属性组
......
# fieldsets属性用于对属性数据进行更好的分级和分类处理, 该属性的值由多个二元元组组成,一般不与fields同时使用
fieldsets = (
("基本资料",{ #分组名称
'fields':("user_name", "tel_phone") #需要展示的字段,可以嵌套多个 如: 'fields':(("user_name", "tel_phone"),("address","image"))
}),
('扩展资料',{
"classes":('collapse',), #数据展示方式,默认为wide 当属性为collapse时,可以通过鼠标点击交互显示和隐藏该属性数据
'description':'用户扩展资料',
'fields':("address","image")
}),
('高级资料',{
'fields':('email',)
})
)

10. readonly_fields 指定只读字段
......
#指定为只读字段,,用于新增之后一般不能修改的字段 ,如: 用户账户,手机号,性别等
readonly_fields = ['food_name']

11.save_on_top 在顶部增加操作按钮
......
save_on_top = True #在顶部增加操作按钮 默认为False

12.save_as 设置为另存操作
......
#将'保存并增加另一个' 按钮,修改为 '保存为新的'
save_as = True #设置另存为操作


13.radio_fields 单选按钮替换
...
radio_fields = {"food_level":admin.HORIZONTAL}
#将默认的下拉框列表改成单选按钮的样式,通过admin模块指定了当选按钮的排序方式为HORIZONTAL(水平)

后台管理系统汉化
1.修改settings.py
#指定语言为中文汉字
LANGUAGE_CODE = 'zh-hans'
#配置时区为亚洲上海时间
TIME_ZONE = 'Asia/shanghai'
#配置直接提取时间,关闭数据库提取时间的转换选项
USE_TZ = False
2.修改后台页面标题和log
在任意app的admin.py 文件中添加如下代码:
...
admin.site.site_header = '米其林'
admin.site.site_title = '米其林后端管理系统'

本文详细介绍了Django后台管理的注册方式,包括通过admin.site.register、数据管理类以及装饰器进行模型注册。同时,列举了多种配置选项,如list_display、list_display_links、list_editable、list_filter、list_per_page、ordering、fields、exclude、fieldsets、readonly_fields、save_on_top、save_as和radio_fields,以及如何实现后台管理界面的汉化。这些配置选项用于定制后台列表页面的展示、编辑功能和样式,提升管理效率。

1652

被折叠的 条评论
为什么被折叠?



