目录结构

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. springboot+Jenkins+docker-compose自动部署项目实践

    DevOps思想 一个开发.测试.运维的整个过程的思想. plan:需求.计划 code:编码 build:构建 test: 测试 release:发布版本 deploy:部署 operate:项目运 ...

  2. Navicat,Dbeaver,heidiSql,DataGrip数据库连接工具比较

    Navicat,Dbeaver,heidiSql,DataGrip数据库连接工具比较 1.Navicat 2.DBeaver 3.heidiSql 4.DataGrip 1.Navicat Navic ...

  3. 31-1.解决service iptables save出错

    CentOS 7.x开始,CentOS开始使用systemd服务来代替daemon,原来管理系统启动和管理系统服务的相关命令全部由systemctl命令来代替.service命令只保留下了极少部分使用 ...

  4. pytest内核测试平台落地初体验

    测试平台,有人说它鸡肋,有人说它有用,有人说它轮子,众说纷纭,不如从自身出发,考虑是否要做测试平台: 第1阶段,用Python+requests写接口自动化. 第2阶段,选择unitttest或pyt ...

  5. hdu4460 Friend Chains(记忆化广度优先搜索)

    题意: 任意两点间最短路中的最长距离. 思路: BFS遍历每个点能到达的最远距离. Tips: vector的clear要与resize联用. #include <bits/stdc++.h&g ...

  6. zoj2112 Dynamic Rankings (主席树 || 树套树)

    The Company Dynamic Rankings has developed a new kind of computer that is no longer satisfied with t ...

  7. AtCoder Beginner Contest 168

    比赛链接:https://atcoder.jp/contests/abc168/tasks A - ∴ (Therefore) 题意 给出一个由数字组成的字符串 $s$,要求如下: 如果 $s$ 以 ...

  8. Codeforces Round #668 (Div. 2) B. Array Cancellation (思维,贪心)

    题意:有一个长度为\(n\)并且所有元素和为\(0\)的序列,你可以使\(a_{i}-1\)并且\(a_{j}+1\),如果\(i<j\),那么这步操作就是免费的,否则需要花费一次操作,问最少操 ...

  9. Bone Collector II HDU - 2639 01背包第k最大值

    题意: 01背包,找出第k最优解 题解: 对于01背包最优解我们肯定都很熟悉 第k最优解的话也就是在dp方程上加一个维度来存它的第k最优解(dp[i][j]代表,体积为i能获得的第j最大价值) 对于每 ...

  10. Linux系统SCSI磁盘扫描机制解析及命令实例

    介绍Linux系统扫描SCSI磁盘有几种方式?Linux新增LUN之后,能否不重启主机就认出设备?如果安装了PowerPath,动态添加/删除LUN的命令是什么?本文总结了Linux主机对磁盘设备进行 ...