关联对象在列表页中添加
将关联对象显示在admin站点中
一对一显示关联对象
- 如果是多对一或一对一,直接将子表的关联添加到list_display中
- 从主表添加时,也是同ORM一样直接以模型类的小写作为字段名进行添加
多对一显示关联对象
- '多’的一方显示’一’的一方
- '一’的一方显示’多’的一方
在Wife_1中添加show_description方法,将此方法添加到字段中
编辑页调整
fields设置编辑页
注意在models中不允许为空的字段必须添加到编辑页要编辑的字段中
- null:允许当前字段在数据库中可为空值
也就是当设置字段null=True时,在admin编辑页中添加时,该字段为必填项。若想将此字段变为选填项可添加blank=True。
- 允许当前字段在admin站点的编辑中可以空
分组显示:fieldsets
fieldsets = (
('组1标题', {'fields':['字段1', '字段2']}),
('组2标题', {'fields':['字段3', '字段4'],
'classes':('collapse',)})
)
注意:fieldsets和fields不能同时存在,二者选其一使用
关联对象:Tabularlnline、Stackedlnline
在一对多的关系中,可以在一端的编辑页面中编辑多端的对象,嵌入多端对象的方式包括表格、块两种。
- 类型lnlineModelAdmin:表示在模型的编辑页面嵌入关联模型的编辑
- 子类Tabularlnline:以表格的形式嵌入。
- 子类Stackedlnline:以块的形式嵌入。
StackedInline:设置以块的形式编辑
导入:from django.contrib.admin import StackedInline
TabularInline:设置以表格的形式编辑
图片设置
- 添加图片字段
2. 添加一个在admin中显示照片的方法
3. 取消图片的转义
需要导入的模块: from django.utils.safestring import mark_safe
此时可以在admin中看到一个损坏的图片,这是因为系统没有找到该图片的路径,所以我们需要配置一个media媒体文件,用来存放图片。
- media媒体文件的配置
-在项目中创建一个存放媒体文件的文件夹:media,并在静态文件中进行路径的配置 - 在根路由中配置media静态文件的路由 - 在模型类中添加图片应上传到的地方
upload_to 表示将上传的文件放在哪一个地方,找的是meida而不是static
- 重新上传文件后,即可看见图片,此时图片过大,我们需要进行图片尺寸的设置
- 设置图片尺寸
-点击该图片即可进行页面跳转
|