Django后台管理

Django后台管理
1)./manage.py createsuperuser 创建后台管理超级用户
2)在admin.py中注册后台管理的模型
admin.site.register(Entry)
3)修改models提升显示效果
4)高级管理,在admin.py中创建EntryAdmin(admin.ModelAdmin)类,提升显示效果

基本管理
1、在应用中的admin.py中注册要管理的数据
1、admin.py
作用:注册需要管理的Models,只有在此注册的Model才允许被管理,否则无法管理
2、注册Model
from .models import *
admin.site.register(Entry)
ex:
admin.site.register(Author)
3、修改 models.py 处理显示内容
后台默认效果可读性不高
在models.py中的各个 class 中追加
def str(self):
return self.name
4、通过内部类Meta实现展现的属性
允许为每个 model 类设置内部类 Meta 来设置起展现形式
class Author(models.Model):
… …
… …
… …

				class Meta:
					1、db_table : 指定该实体类对应到表的名称
					2、verbose_name : 定义该实体类在 admin 中显示的名字(单数形式)
					3、verbose_name_plural : 效果同上,是复数形式
					4、ordering :在后台显示数据时的排序规则,取值为一个 列表,默认是按升序,降序的话则添加 '-'
3、高级管理
	1、在 admin.py 中创建管理类,实现高级管理功能
		1、定义 EntryAdmin 类,继承自 admin.ModelAdmin
			class AuthorAdmin(admin.ModelAdmin):
				pass
		2、注册 高级管理类
			admin.site.register(Entry,EntryAdmin)

			admin.site.register(Author,AuthorAdmin)
		3、允许在EntryAdmin增加的属性
			1、list_display
				作用:在显示实体信息的页面上,都显示哪些字段
				取值:由属性名组成的元组或列表
				ex:
					list_display=('name','age','email')
			2、list_display_links
				作用:定义能够链接到具体实体页面的链接们
				取值:由属性名组成的元组或列表
				注意:取值要必须出现在 list_display 中
				ex:
					list_display_links=('name','email')
			3、list_editable
				作用:定义在列表页面中允许被修改的字段
				取值:由属性名组成的元组或列表
				注意:list_editable的值不能出现在list_display_links中
			4、search_fields
				作用:添加允许被搜索的字段
				取值:由属性名组成的元组或列表
			5、list_filter
				作用:在列表的右侧增加过滤器,实现快速筛选
				取值:由属性名组成的元组或列表
			6、date_hierarchy
				作用:在顶部增加一个时间选择器,所以取值必须是 DateField 或 DateTimeField 的列
			7、fields
				作用:在实体的详细页面中,显示哪些属性,并按照什么样的顺序显示
				取值:由属性名组成的元组或列表
			8、fieldsets
				作用:在实体的详细页面中,对属性进行分组
				注意:fieldsets 与 fields 不能共存
				语法:
					fieldsets=(
						('分组名称',{'fields':(属性1,属性2),'classes':('collapse')}),

你可能感兴趣的:(django)