Django学习笔记:Admin Admin基础
admin后台本质上是Django给我们提供的⼀个app。
环境配置
admin依赖以下四个模块,请确保它们存在于INSTALLED_APPS中:
并且要将ib.admin加⼊到INSTALLED_APPS列表。
创建超级⽤户
python manage.py createsuperuser
要修改管理员的路由,安全起见,不能⽤默认的admin/路径。
修改超级⽤户密码
python manage.py shell
dels import User
user = (username=’<⽤户名>’)
user.set_password(‘<;新密码>’)
user.save()
python manage.py changepassword <⽤户名>
#修改指定的⽤户的密码(提供⽤户名)或修改当前系统⽤户密码(不提供⽤户名)
访问Admin界⾯
注册数据表
在admin.py中:
ister(<;表>)    ##⼀次只能注册⼀个类
ModelAdmin类
对于每个模型,可创建⼀个对应的ModelAdmin类,这个类的属性就是模型的所有⾃定义设置。
class <;类名>Admin(admin.ModelAdmin):
##设置ModelAdmin属性...
ister(<;表>, <;表>Admin)        ##将数据表和它的ModelAdmin类绑定注册
@ister(<;表>):                      ##第⼆种⽅法,装饰器注册
class <;表>Admin(admin.ModelAdmin):
##设置ModelAdmin属性...
ModelAdmin的属性
list_display
在实例的修改界⾯横排显⽰指定的字段。
list_display = (‘<;字段1>’, ‘<;字段2>’, ...)
list_filter
在实例的列表界⾯显⽰⼀个FILTER右边栏,⽤指定的字段进⾏分类。
可分类的字段:BooleanField、CharField、DateField、DateTimeField、IntegerField、ForeignKey、ManyToManyField list_filter = [‘<;字段1>’, ‘<;字段2>’, ...]
search_fields
在实例的列表界⾯添加搜索框,在指定字段的范围内搜索。
search_fields = [‘<;字段1>’, ‘<;字段2>’, ...]      ##字段为CharField和TextField
actions
⼀个包含⾃定义⾏为的列表。
actions_on_top
默认为True,在页⾯的列表上⽅显⽰actions下拉框。
actions_on_bottom
默认为False,当为True时,在页⾯的列表下⽅显⽰actions下拉框。
actions_selection_counter
默认为True,在action下拉框右侧显⽰选中的对象数量。
date_hierarchy
指定⼀个⽇期型字段,为页⾯创建⼀个通过⽇期过滤对象的时间导航栏。
date_hierarchy = ‘date’
empty_value_display
设置类中的空值字段的默认显⽰内容(如None,空字符串等),默认是’-’。
empty_value_display = ‘-empty-’
可以设置全局的字段空值的默认显⽰内容:
pty_value_display = ‘-empty-’    ##这是⼀⾏新代码,并不在类中缩进!
exclude
对指定的字段排除显⽰。
exclude = ('<;字段1>', ‘<;字段2>’, ...)
fields
指定显⽰的字段,其顺序也是字段在Admin后台显⽰的顺序。
fields = ('<;字段1>', ‘<;字段2>’, ...)
可以组合元组,让⼏个字段在同⼀⾏显⽰,如:
fields = ( (('<;字段1>', ‘<;字段2>’)), ‘<;字段3>’, ...)
fieldsets
根据字段对页⾯进⾏分组显⽰,传⼊⼆元元组,其中每个元组代表⼀个分组。
fieldsets = (
(‘<;分组标题A>’, {                          ## <;分组标题>可⽤None表⽰⽆标题
‘fields’: (‘<;字段1>’, ‘<;字段2>’, ...)
} ),
(‘<;分组标题B>’, {
‘fields’: (‘<;字段3>’,)
} ),
...
)
显⽰样式:
分组标题A
字段1
字段2
...
分组标题B
字段3
...
fields同样可以组合元组,让⼏个字段在同⼀⾏显⽰:
fields = ( (('<;字段1>', ‘<;字段2>’)), ‘<;字段3>’, ...)
跟’fields’同级别的属性:
‘classes’: (‘wide’, ‘collaspe’)
⼀个包含额外CSS类的元组,wide让分组具备更宽的⽔平空间,collaspe将整个分组折叠。‘description’
⼀个可选的额外说明⽂本,放在每个分组的顶部,如果内部有HTML语法将不被转义。
filter_horizontal
将指定的多对多字段分成⽔平两部分显⽰(默认是⼀个选择框)。
filter_vertical
将指定的多对多字段分成垂直两部分显⽰(默认是⼀个选择框)。
form
编写⾃定义的ModelForm,⽤于添加/修改页⾯的表单。
list_editable
指定在修改页⾯中可以直接编辑的字段,指定的字段将显⽰为编辑框。
只能设置list_display中的字段。
list_max_show_all
指定⼀个数值,当列表元素总数⼤于该值时,显⽰为“show all”链接,默认为200。
list_per_page
设置每页显⽰的元素个数,默认为100。
list_select_related
使⽤select_related()⽅法查询数据,可以减少数据库访问,默认为False(只对ForeighKey字段调⽤),当为True时始终调⽤。可以传⼊元组或列表,指定⽤select_related()查询的字段。
list_select_related = (‘<;字段1>’, ‘<;字段2>’, ...)
ordering
设置排序⽅式,传⼊元组或列表。
radio_fields
⽤选项展⽰ForeighKey字段。
save_as
默认为False,显⽰为“保存并添加另⼀个”按钮,当为True时变成“保存为新对象”按钮。
django怎么学

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。