目录结构

1.前言

2.完整的操作步骤

2.1.第一步:查看ModelAdmin类和BaseModelAdmin类的源码

2.2.第二步:查看表animal对应的列表展示页面默认的数据展示

2.3.第三步:对表animal对应的列表展示页面的数据展示进行相关优化

2.4.第四步:重启服务

2.5.第五步:退出登录并再次成功登陆admin管理后台

2.6.第六步:查看表animal对应的列表展示页面最新的数据展示

3.调试过程中相关报错信息的解决方案

1.前言

对admin管理后台里的列表展示页面的数据展示进行相关优化的目的:更加方便我们对列表展示页面里的数据进行操作!

问题:那么,我们如何对admin管理后台里的列表展示页面的数据展示进行相关优化呢?

答案:我们对指定父类里的相关属性值进行重写,就能实现对admin管理后台里的列表展示页面的数据展示进行优化;

具体实现可以看接下来完整的操作流程;

细节:

①.操作流程的全程都是拿表animal当测试数据;

2.完整的操作步骤

2.1.第一步:查看ModelAdmin类和BaseModelAdmin类的源码

细节:

①.ModelAdmin类是BaseModelAdmin类的子类;

②.假如一个父类A里有一个属性A1,类B是父类A的子类,类C是类B的子类,那么在类C里可以对属性A1的值进行重写;

class ModelAdmin(BaseModelAdmin):
"""Encapsulate all admin options and functionality for a given model.""" list_display = ('__str__',) # 显示在列表展示页面的表字段的集合;数据类型为元祖;
list_display_links = () # 在列表展示页面里的可被点击且点击后能跳转到数据详情页的表字段的集合;数据类型为元祖;
list_filter = () # 可以被过滤的表字段的集合;数据类型为元祖;
list_select_related = False
list_per_page = 100 # 在列表展示页面里,每个分页最多展示100条数据;数据类型为int;
list_max_show_all = 200
list_editable = () # 在列表展示页面里,表字段值可以被编辑的表字段的集合;数据类型为元祖;
search_fields = () # 在列表展示页面里,表字段值可以被当做搜索条件的表字段的集合;数据类型为元祖;
date_hierarchy = None # 在列表展示页面里,任意一个值是时间类型的表字段可以被当做时间分层,一般比如用表字段create_time;数据类型为字符串;
save_as = False
save_as_continue = True
save_on_top = False
paginator = Paginator
preserve_filters = True
inlines = []

class BaseModelAdmin(metaclass=forms.MediaDefiningClass):
"""Functionality common to both ModelAdmin and InlineAdmin.""" autocomplete_fields = ()
raw_id_fields = ()
fields = None
exclude = None
fieldsets = None
form = forms.ModelForm
filter_vertical = ()
filter_horizontal = ()
radio_fields = {}
prepopulated_fields = {}
formfield_overrides = {}
readonly_fields = ()
ordering = None # 在列表展示页面里,任意一至多个表字段的表字段值可以被当做排序条件,一般比如用表字段create_time;数据类型为元祖;
# (如果【ordering = ("-create_time")】:表示数据按照创建时间倒序排序;如果【ordering = ("create_time")】:表示数据按照创建时间正序排序; )
sortable_by = None
view_on_site = True
show_full_result_count = True
checks_class = BaseModelAdminChecks

2.2.第二步:查看表animal对应的列表展示页面默认的数据展示

2.3.第三步:对表animal对应的列表展示页面的数据展示进行相关优化

class ControlAnimal(admin.ModelAdmin):
list_display = ("id","name","age","create_time")
list_display_links = ("id","name",)
list_filter = ("name","create_time")
list_per_page = 11
list_editable = ("age",) # 注意:表字段id因为是主键且由于主键不允许被编辑,所以表字段id不能添加到 list_editable里面,否则会报错;
search_fields = ("name","age")
date_hierarchy = "create_time"
ordering = ("-create_time",) admin.site.register(models.animal,ControlAnimal)

2.4.第四步:重启服务

2.5.第五步:退出登录并再次成功登陆admin管理后台

2.6.第六步:查看表animal对应的列表展示页面最新的数据展示

3.调试过程中相关报错信息的解决方案

①.解决方案:

根据报错日志(报错日志都是英文),复制报错日志里核心的报错文案进行如下处理:1.可以复制到百度进行查找对应答案,然后去改对应的错误代码块;2.或者可以按照报错文案进行自我理解,然后去改对应的错误代码块;

②.实际案例如下:

django学习-27.admin管理后台里:对列表展示页面的数据展示进行相关优化的更多相关文章

  1. django学习-26.admin管理后台里:修改登录页面标题,修改登录框标题,修改首页标题

    目录结构 1.前言 2.完整的操作步骤 2.1.第一步:查看[site.py]的源码 2.2.第二步:在应用[hello]所在目录里的[admin.py]里重写三个属性的属性值 2.3.第三步:重启服 ...

  2. django学习-25.admin管理后台里:把表名称和表字段名称的展示值都由英文显示改为由中文显示

    目录结构 1.前言 2.完整的操作步骤 2.1.第一步:修改模型类Article 2.2.第二步:重启服务 2.3.第三步:退出登录并再次成功登陆admin管理后台 2.4.第四步:查看最新的表名称展 ...

  3. django学习-19.admin管理后台的配置和登录

    目录结构 1.前言 2.admin管理后台的配置和登录的完整操作流程 2.1.第一步: 在[settings.py]里对常量[INSTALLED_APPS]的值进行相关配置 2.2.第二步: 在[ur ...

  4. django学习-23.admin管理后台的数据表数据的自定义展示

    目录结构 1.前言 2.自定义设置一张指定的数据表的列表展示内容 2.1.第一步:如果我们想让数据表[hello_person]里面的表字段值全部展示出来,需在应用[hello]里的[admin.py ...

  5. django学习-22.admi管理后台页面的文案展示等相关配置

    目录结果 1.前言 2.完整的操作步骤 2.1.第一步:对[settings.py]里的相关常量的值做如下修改 2.2.第二步:重启django项目[helloworld]的服务 2.3.第三步:重新 ...

  6. 四、Django之模型与管理后台-Part 2

    一.数据库安装 打开mysite/settings.py配置文件,这是整个Django项目的设置中心.Django默认使用SQLite数据库,因为Python源生支持SQLite数据库,所以你无须安装 ...

  7. 16.-admin管理后台

    一.admin管理后台 Django提供给了比较完善的后台管理数据库接口,可供开发过程中调用和测试使用 Django会搜集所有已注册的模型类,为这些模型类提供数据管理界面,供开发者使用   命令:py ...

  8. Admin管理后台

    Django奉行Python的内置电池哲学.它自带了一系列在Web开发中用于解决常见问题或需求的额外的.可选工具.这些工具和插件,例如django.contrib.redirects都必须在setti ...

  9. Django框架 之 admin管理工具(组件使用)

    Django框架 之 admin管理工具(组件使用) 浏览目录 激活管理工具 使用管理工具 admin的定制 admin组件使用 Django 提供了基于 web 的管理工具. Django 自动管理 ...

随机推荐

  1. List对象集合根据组合属性进行差集运算

    背景   当List是一个基本数据类型的集合的时候,进行集合运算还比较方便,但是有这么一些业务场景,比如某个用户权限变化的列表,或者取数据的变化结果,当时有时候用笨方法多循环两次也是可以的,只不过代码 ...

  2. HTML5 学习表格应用

    <table> <tr> ---tr 定义行 <td>第1个单元格的内容</td> ----td 定义列 <td>第2个单元格的内容< ...

  3. 使用kubekey安装kubesphere

    下载 KubeKey KubeKey 是新一代 Kubernetes 和 KubeSphere 安装器,可帮助您以简单.快速.灵活的方式安装 Kubernetes 和 KubeSphere. expo ...

  4. 2019牛客暑期多校训练营(第七场)H.Pair(数位dp)

    题意:给你三个数A,B,C 现在要你找到满足  A and B >C 或者 A 异或 B < C 的对数. 思路:我们可以走对立面 把既满足 A and B <= C 也满足 A 异 ...

  5. easyx学习心得

    前几天算法课的实验要求实现可视化,搞了半天没动咋实现,然后有大佬说用easyx,,,我寻思着也没教这玩意咋用啊.然后很烦躁的上网找教程,发现没有教怎么使用的,都说有一本说明书(链接),自己调用函数就可 ...

  6. codeforces626E.Simple Skewness(三分)

    Define the simple skewness of a collection of numbers to be the collection's mean minus its median. ...

  7. c语言文件的读取和写入

    文件打开类型: 文件打开输出就用: 1 #include <stdio.h> 2 3 int main() 4 { 5 FILE *fp = NULL; 6 7 fp = fopen(&q ...

  8. Miller_Rabbin算法判断大素数

    普通的素数测试我们有O(√ n)的试除算法.事实上,我们有O(s*log³n)的算法. 下面就介绍一下Miller_Rabbin算法思想: 定理一:假如p是质数,且(a,p)=1,那么a^(p-1)≡ ...

  9. Leetcode(868)-二进制间距

    给定一个正整数 N,找到并返回 N 的二进制表示中两个连续的 1 之间的最长距离. 如果没有两个连续的 1,返回 0 . 示例 1: 输入:22 输出:2 解释: 22 的二进制是 0b10110 . ...

  10. P3373 线段树2(多重标记线段树)题解

    题意: 操作有:区间加,区间乘,区间询问求和 思路: 设一个数为\(m*sum+a\),加就变成了\(m*sum+a+a_2\),乘就变成了\(m*m_2*sum+a*m_2\),所以我们设两个标记\ ...