【Django学习笔记 - 15】:admin站点编辑(关联对象在列表页中添加,编辑页调整、图片设置)

简介: 【Django学习笔记 - 15】:admin站点编辑(关联对象在列表页中添加,编辑页调整、图片设置)

关联对象在列表页中添加


将关联对象显示在admin站点中


一对一显示关联对象


  1. 如果是多对一或一对一,直接将子表的关联添加到list_display中


6419a365099142da9571da153c0a7a07.png

e5ed474aceb8491f8e2f86699ab6d837.png

4712d8750d8c4b50afd8223b7e98ffaa.png


从主表添加时,也是同ORM一样直接以模型类的小写作为字段名进行添加

d95cf85fc77e49f89dba99ceae94d3c3.png


b4c0c389898c49038dae1002eb685660.png


多对一显示关联对象


  1. '多’的一方显示’一’的一方


0c24512adf3545a38780cd0e58e4a866.png


4f35c97b84864286b7533f134f0247e3.png

3db1843ef5474641a90e473eb754c87e.png


e698c0304c3849b3a831be7a31cd109c.png


c2e510a32aba4bf59f32374689e4b6b2.png


  1. '一’的一方显示’多’的一方

在Wife_1中添加show_description方法,将此方法添加到字段中

0f94a034570945239bbed6d0712f2f96.png

3454b33b188949e68e233f900f8c803d.png

ed093160bb554ad1bd8872389052dc93.png



编辑页调整


fields设置编辑页


f205de8e208c40a7bdbb57ef182e1f96.png

eee07bc2d9014489ade93b312c2dff3c.png


注意在models中不允许为空的字段必须添加到编辑页要编辑的字段中


302ab3c7e03043c89d6e64e3c9f69ef4.png


  1. null:允许当前字段在数据库中可为空值

也就是当设置字段null=True时,在admin编辑页中添加时,该字段为必填项。若想将此字段变为选填项可添加blank=True。



6beed006dc214977ad7fc08b88e94962.png


允许当前字段在admin站点的编辑中可以空

81bee9b3dbc14b7392a8479d806aedb8.png


30ee7668ac304403ad5dba4eb427ce1c.png



分组显示:fieldsets


fieldsets = (
('组1标题', {'fields':['字段1', '字段2']}),
('组2标题', {'fields':['字段3', '字段4'], 
'classes':('collapse',)}) # 设置是否折叠显示
)


注意:fieldsets和fields不能同时存在,二者选其一使用

86db5045a22c42188bb39fb582d8e5d7.png

ff1f5d057e114465bdf474ed6074ed8d.png

0fabf941295a40508c4b327eab13b95c.png

dee484348434431a985fb064c0d65c80.png



关联对象:Tabularlnline、Stackedlnline



在一对多的关系中,可以在一端的编辑页面中编辑多端的对象,嵌入多端对象的方式包括表格、块两种。


  • 类型lnlineModelAdmin:表示在模型的编辑页面嵌入关联模型的编辑
  • 子类Tabularlnline:以表格的形式嵌入。
  • 子类Stackedlnline:以块的形式嵌入。



StackedInline:设置以块的形式编辑


导入:from django.contrib.admin import StackedInline


a4d2d6abc74d46a3a73494fe04b4dba9.png

920c344d09f54c40a34c197cc27f42ce.png


b01b1d730fe741de9a781ed398378bbe.png



TabularInline:设置以表格的形式编辑


4212fee1c77749acb6abeaa50e7154a6.pngc102bcc89ab349648756a7354c1f9139.png


0c52c1780b104a16bbce17347e40a13c.png


相关文章
|
5月前
|
前端开发 数据库 Python
Django项目之电商购物商城 -- 修改/删除收货地址/设置默认地址
Django项目之电商购物商城 -- 修改/删除收货地址/设置默认地址
|
1月前
|
JavaScript 前端开发 Python
django接收前端vue传输的formData图片数据
django接收前端vue传输的formData图片数据
33 4
|
4月前
|
存储 JavaScript 前端开发
Django + Vue 实现图片上传功能的全流程配置与详细操作指南
 在现代Web应用中,图片上传是一个常见且重要的功能。Django作为强大的Python Web框架,结合Vue.js这样的现代前端框架,能够高效地实现这一功能。本文将详细介绍如何在Django项目中配置图片上传的后端处理,并在Vue前端实现图片的选择、预览和上传功能。
|
5月前
|
前端开发 JavaScript 数据库
四. Django项目之电商购物商城 -- 图片验证码生成
四. Django项目之电商购物商城 -- 图片验证码生成
|
5月前
|
数据管理 数据库 数据安全/隐私保护
Django——Auth模块以及admin站点
Django——Auth模块以及admin站点
|
6月前
|
Python
Django 实现用户需求及反馈系统并支持图片上传
在这篇博客中,我们将介绍如何使用 Django 实现一个用户需求和反馈系统,支持用户上传图片,同时限制上传图片的总大小不超过 3MB。我们将从模型设计开始,然后编写表单和视图来处理用户请求和图片上传。
|
5月前
|
Python
初识Django,以及路由设置
初识Django,以及路由设置
|
6月前
|
Python
基于Django的Python应用—学习笔记—功能完善
基于Django的Python应用—学习笔记—功能完善
|
6月前
|
存储 数据库 数据安全/隐私保护
基于Django的Python应用——学习笔记
基于Django的Python应用——学习笔记
|
6月前
|
Python
百度搜索:蓝易云【Django自带的Admin后台中如何获取当前登录用户】
在上面的代码中,`@staff_member_required`装饰器确保只有管理员可以访问 `my_custom_view`视图,而 `@login_required`装饰器确保只有登录的用户可以访问该视图。然后,可以使用 `request.user.username`获取当前登录用户的用户名,并将其传递到模板中进行显示或其他操作。
56 3