1.使用

(1)本地化,语言和时区本地化

Django Admin后台管理

(2)创建超级管理员

Django Admin后台管理_第1张图片

(3)注册模型类:定义显示的内容

(a)models.py定义
Django Admin后台管理_第2张图片

(b)效果

Django Admin后台管理_第3张图片

(c)admin.py注册

Django Admin后台管理_第4张图片

(4)自定义管理页面:显示方式,固件

(a)自定义模型管理类

Django Admin后台管理_第5张图片

效果:

Django Admin后台管理_第6张图片

(b)注册模型类的时候给register函数添加第二个参数,就是自定义模型管理类的名字

返回表的标题

Django Admin后台管理

Django Admin后台管理_第7张图片

(5)关联对象

无法直接访问关联对象的属性或方法,可以在模型类中封装方法,访问关联对象的成员。

(a)例如:显示父级地区,如果没有父级就返回空

Django Admin后台管理_第8张图片

效果:

Django Admin后台管理_第9张图片

(6)分组显示:fields与fieldsets只能用一个

Django Admin后台管理_第10张图片

效果:

Django Admin后台管理_第11张图片

(7)关联对象

在一对多的关系中,可以在一端的编辑页面中编辑多端的对象,嵌入多端对象的方式包括表格、块两种。类型InlineModelAdmin:表示在模型的编辑页面嵌入关联模型的编辑。子类TabularInline:以表格的形式嵌入。子类StackedInline:以块的形式嵌入

(a)StackedInline,写入models.py的AreaInfo,在管理类写入Inlines = [AreaStackedInline] #类名,extra = 2 表示额外添加两个空行

Django Admin后台管理_第12张图片

效果:

Django Admin后台管理_第13张图片

(8)重写模板

Django Admin后台管理_第14张图片

(9)上传图片

(a)配置方式
Django Admin后台管理_第15张图片

(b)后台管理页面上传图片

Django Admin后台管理_第16张图片

(c)模型类属性
Django Admin后台管理

(d)设计模型类

Django Admin后台管理_第17张图片

(e)迁移模型类出错,因为已经存在id=10的表,系统不再迁移

Django Admin后台管理_第18张图片

方法一:把id=10的表删除

Django Admin后台管理_第19张图片

迁移后还是有错误:到0001initial.py把该类删了

Django Admin后台管理

(f)到admin.py注册模型类

Django Admin后台管理

(g)效果

Django Admin后台管理

(h)用户自定义页面上传图片

Django Admin后台管理_第20张图片

(I)页面

Django Admin后台管理_第21张图片

(j)处理函数:小于2.5M存储在内存,大于2.5M存储在临时文件,%s表示文件名,'wb'文件格式,Pictest表

Django Admin后台管理_第22张图片
Django Admin后台管理_第23张图片