Django-后台管理
2019-05-17 本文已影响0人
遇明不散
后台的配置
# 登录地址
http://localhost:8000/admin
# 创建后台管理员
./manage.py createsuperuser
py manage.py createsuperuser
基本管理
在应用中的 admin.py 中注册要管理的数据
- admin.py
注册需要管理的Models类,只有在此注册的Models类才允许被管理 - 注册Models
from .models import *
admin.site.register(Entry)
通过Models类的内部类 Meta 来定义展现形式
class Author(models.Model):
# verbose_name 用于指定在后台显示的字段名称
name = models.CharField(max_length=30,verbose_name='姓名')
age = models.IntegerField(verbose_name='年龄')
email = models.EmailField(null=True,verbose_name='邮箱')
isActive = models.BooleanField(default=True,verbose_name='激活用户')
class Meta:
# db_table 指定该实体类映射到表的名称(该属性设置完成后需要同步回数据库)
db_table = 'author'
# verbose_name 定义实体类在 admin 中显示的名字(单数)
verbose_name = '作者'
# verbose_name_plural 定义实体类在 admin 中显示的名字(复数)
verbose_name_plural = verbose_name
# ordering 指定数据在后台管理中的排序方式,
# 取值是一个列表,将排序的列表示在列表,默认升序,降序使用-
ordering = ['-age']
高级管理
在 admin.py 中创建高级管理类并注册
- 定义 EntryAdmin 类,继承自 admin.ModelAdmin
- 注册高级管理类
# 定义 EntryAdmin 类,继承自 admin.ModelAdmin
class AuthorAdmin(admin.ModelAdmin):
pass
# 注册高级管理类
admin.site.register(Entry,EntryAdmin)
允许在EntryAdmin中增加的属性
-
list_display
- 定义在列表页上显示的字段
- 由属性名组成的元组或列表
-
list_display_links
- 定义在列表页中也能够连接到详情页的字段
- 由属性名组成的元组或列表
- 取值必须要出现在
list_display
中
-
list_editable
- 定义在列表页中就允许修改的字段
- 由属性名组成的元组或列表
- 取值必须出现在
list_display
中但不能出现在list_display_links
中
-
search_fields
- 添加允许被搜索的字段们
- 由属性名组成的元组或列表
-
list_filter
- 列表页的右侧增加过滤器,实现快速筛选
- 由属性名组成的元组或列表
-
date_hierarchy
- 列表页的顶部增加时间选择器,取值是
DateField
或DateTimeField
的列名
- 列表页的顶部增加时间选择器,取值是
-
fields
- 在详情页中,指定显示哪些字段并按照什么样的顺序显示
- 由属性名组成的元组或列表
-
fieldsets
- 在详情页面中,对字段进行分组显示
-
fieldsets
与fields
是不能共存
fieldsets = (
#分组1
('分组名称',{
'fields':('属性1','属性2'), # 显示字段
'classes':('collapse',) # 显示效果
}),
#分组2
()
)