四⼗四、python学习之Django框架(三):Admin站点,调整列表页展⽰,重写模
⼀、Admin站点:
1. 使⽤Admin站点:
使⽤Django的管理模块,需要按照如下步骤操作:
管理界⾯本地化
创建管理员
注册模型类
⾃定义管理页⾯
1.1管理界⾯本地化:
在settings.py中设置语⾔和时区:
LANGUAGE_CODE ='zh-hans'# 使⽤中国语⾔
TIME_ZONE ='Asia/Shanghai'# 使⽤中国上海时间
1.2 创建超级管理员:
创建管理员的命令如下,按提⽰输⼊⽤户名、邮箱、密码。
python manage.py createsuperuser
打开浏览器,在地址栏中输⼊如下地址后回车。
127.0.0.1:8000/admin/
输⼊前⾯创建的⽤户名、密码完成登录。
登录成功后界⾯如下,但是并没有我们⾃⼰应⽤模型的⼊⼝,接下来进⾏第三步操作。
1.3 注册模型类:
登录后台管理后,默认没有我们创建的应⽤中定义的模型类,需要在⾃⼰应⽤中的admin.py⽂件中注册,才可以在后台管理中看到,并进⾏增删改查操作。
打开booktest/admin.py⽂件,编写如下代码:
ib import admin
dels import BookInfo,HeroInfo
ister(BookInfo)
ister(HeroInfo)
到浏览器中刷新页⾯,可以看到模型类BookInfo和HeroInfo的管理了。
点击类名称"BookInfo"可以进⼊列表页,默认只有⼀列。
在列表页中点击"增加"可以进⼊增加页,Django会根据模型类的不同,⽣成不同的表单控件,按提⽰填写表单内容后点击"保存",完成数据创建,创建成功后返回列表页。
在列表页中点击某⾏的第⼀列可以进⼊修改页。
按照提⽰进⾏内容的修改,修改成功后进⼊列表页。在修改页点击“删除”可以删除⼀项。
删除:在列表页勾选想要删除的复选框,可以删除多项。
点击执⾏后进⼊确认页⾯,删除后回来列表页⾯。
数据都删除了,接下来⼿动造⼀些数据出来。
1.4 4 定义与使⽤Admin管理类:
Django提供的Admin站点的展⽰效果可以通过⾃定义ModelAdmin类来进⾏控制。
定义管理类需要继承⾃admin.ModelAdmin类,如下
ib import admin
class BookInfoAdmin(admin.ModelAdmin):
pass
使⽤管理类有两种⽅式:
注册参数
ister(BookInfo,BookInfoAdmin)
装饰器
@ister(BookInfo)
class BookInfoAdmin(admin.ModelAdmin):
pass
⼆、调整列表页展⽰:
1. 页⼤⼩:
每页中显⽰多少条数据,默认为每页显⽰100条数据,属性如下:
list_per_page=100
1)打开booktest/admin.py⽂件,修改AreaAdmin类如下:
class AreaAdmin(admin.ModelAdmin):
list_per_page =10
2)在浏览器中查看区域信息的列表页⾯,效果如下图:
2. 操作选项"的位置:***
顶部显⽰的属性,设置为True在顶部显⽰,设置为False不在顶部显⽰,默认为True。actions_on_top=True
底部显⽰的属性,设置为True在底部显⽰,设置为False不在底部显⽰,默认为False。actions_on_bottom=False
1)打开booktest/admin.py⽂件,修改AreaAdmin类如下:
class AreaAdmin(admin.ModelAdmin):
...
actions_on_top =True
actions_on_bottom =True
2)在浏览器中刷新效果如下图:
3. 将⽅法作为列
列可以是模型字段,还可以是模型⽅法,要求⽅法有返回值。
1)打开booktest/models.py⽂件,修改AreaInfo类如下:
class AreaInfo(models.Model):
...
def title(self):django怎么学
return self.atitle
2)打开booktest/admin.py⽂件,修改AreaAdmin类如下:
class AreaAdmin(admin.ModelAdmin):
...
list_display =['id','atitle','title']

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