目录结构

1.前言

2.自定义设置一张指定的数据表的列表展示内容

2.1.第一步:如果我们想让数据表【hello_person】里面的表字段值全部展示出来,需在应用【hello】里的【admin.py】里添加list_display 属性等代码内容,相关代码如下

2.2.第二步:重启django项目【helloworld】的服务

2.3.第三步:重新成功登陆admin管理后台

2.4.第四步:查看数据表【hello_person】的列表展示内容

3.添加搜索功能

3.1.第一步:在刚才的代码基础上添加一个search_fields属性,设置搜索的条件按表字段name进行精确搜索和模糊搜索

3.2.第二步:重启django项目【helloworld】的服务

3.3.第三步:重新成功登陆admin管理后台

3.4.第四步:查看数据表【hello_person】的列表是否多出一个搜索框并支持精确搜索和模糊搜索

1.前言

每张数据表的列表展示内容,默认只展示了数据表里的每条数据的标题信息。但如果我们要具体查看每条数据的每个表字段值就必须需要点击标题信息进入下一级的数据详情页面才能查看,这不是很直观。

在每个app应用里的【admin.py】里,我们可以自定义设置每张数据表的列表展示内容,也可以添加搜索框进行快速的精确和模糊搜索相关数据;

接下来,我们做以下完整的相关操作;

2.自定义设置一张指定的数据表的列表展示内容

细节:

①.我们拿数据表【hello_person】做实验数据;

2.1.第一步:如果我们想让数据表【hello_person】里面的表字段值全部展示出来,需在应用【hello】里的【admin.py】里添加list_display 属性等代码内容,相关代码如下

from django.contrib import admin

# Register your models here.

from hello import models

# 类名可以随意
class ControlPerson(admin.ModelAdmin):
'''自定义hello_person表在admin管理后台的数据列表展示页面里展示哪几个表字段内容,需要重写属性list_display'''
list_display = ('id',"name","age") # 重写属性list_display,来设置展示的表字段 admin.site.register(models.Person,ControlPerson)

2.2.第二步:重启django项目【helloworld】的服务

2.3.第三步:重新成功登陆admin管理后台

2.4.第四步:查看数据表【hello_person】的列表展示内容

细节:

①.父类【ModelAdmin】里的属性【list_display】的默认值是【('__str__',)】,所以数据表的列表展示内容默认只展示了数据表里的每条数据的标题信息;

②. 属性【list_display】的数据类型是list,可以包含任意个数的表字段名且表字段名的顺序可以随意;比如属性【list_display】里现在只有一个值【id】;

③.表字段名称有包含小写字母的,在admin管理后台页面对应的列表页面里都会被转为大写字母展示;

3.添加搜索功能

当数据表【hello_person】数据过多,我们为了方便快速的找到想要的数据,可以添加一个搜索功能, 可以用属性【search_fields】为该列表页增加搜索栏:

3.1.第一步:在刚才的代码基础上添加一个search_fields属性,设置搜索的条件按表字段name进行精确搜索和模糊搜索

from django.contrib import admin

# Register your models here.

from hello import models

class ControlPerson(admin.ModelAdmin):
'''自定义hello_person表在admin管理后台的数据列表展示页面里展示哪几个表字段内容,需要重写属性list_display'''
list_display = ('id',"name","age") # 重写属性list_display,来设置展示的表字段
search_fields = ("name",) # 重写属性search_fields,把表字段name的值当做搜索条件 admin.site.register(models.Person,ControlPerson)

3.2.第二步:重启django项目【helloworld】的服务

3.3.第三步:重新成功登陆admin管理后台

3.4.第四步:查看数据表【hello_person】的列表是否多出一个搜索框并支持精确搜索和模糊搜索

细节:

①.属性search_fields 值支持传多个表字段名,表示支持按这多个表字段名的任意其中一个标字段名来进行精确搜索和模糊搜索;

比如当属性search_fields 值等于【 ("name","age")】,那么表示可以按照表字段名name或者表字段名age进行精确搜索和模糊搜索;

django学习-23.admin管理后台的数据表数据的自定义展示的更多相关文章

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

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

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

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

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

    目录结构 1.前言 2.完整的操作步骤 2.1.第一步:查看ModelAdmin类和BaseModelAdmin类的源码 2.2.第二步:查看表animal对应的列表展示页面默认的数据展示 2.3.第 ...

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

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

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

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

  6. Admin管理后台

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

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

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

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

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

  9. 第五章:Admin管理后台

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

随机推荐

  1. how2j 仿天猫j2EE零散笔记

    1. 在servlet中拼接  :"http://localhost:8080/tmall/admin_property_list?cid=83"  这句话中的cid=83时, c ...

  2. 周期性清除Spark Streaming流状态的方法

    在Spark Streaming程序中,若需要使用有状态的流来统计一些累积性的指标,比如各个商品的PV.简单的代码描述如下,使用mapWithState()算子: val productPvStrea ...

  3. nginx教程<一>

    2020最新Nginx教程全面讲解教程,感觉讲的很不错但是需要有docker基础,因为是基于docker快速搭建的nginx. 1.为什么要学习Nginx 肯定是工作和业务需求催生的学习需要哈哈,不过 ...

  4. kafka背着你做了什么?

    Kafka中有broker.主题.分区.副本等概念,底层有日志和日志分片. 我们先简单介绍一下这些概念,做个类比. broker可以简单理解为一台物理机,其实一台机器上可以有多个broker进程,但是 ...

  5. UI自动化实战进阶后续

    前言 最近几天因为回老家的缘故,暂时没空学习和记录,好不容易抽空那就赶紧开始后面的实战. 前面我们已经基本完成了测试的框架,并且也有了PO设计模式,后面我们还缺少什么呢?做为自动化测试最主要的测试报告 ...

  6. Codeforces Round #672 (Div. 2) D. Rescue Nibel!(排序)

    题目链接:https://codeforces.com/contest/1420/problem/D 前言 之前写过这场比赛的题解,不过感觉这一题还可以再单独拿出来好好捋一下思路. 题意 给出 $n$ ...

  7. pbds初探

    今年暑假外校集训的时候一道题标算是最短路扩展,然而std用的是pbds,于是就产生了研究的兴趣.结果那个标程我现在死都找不到了233 定义: 在知乎上看到有oier去年向CCF发了邮件,得到的回复是p ...

  8. HDU 6880 Permutation Counting dp

    题意: 给你一个n和一个长度为n-1的由0/1构成的b序列 你需要从[1,n]中构造出来一个满足b序列的序列 我们设使用[1,n]构成的序列为a,那么如果ai>ai+1,那么bi=1,否则bi= ...

  9. Codeforces Round #340 (Div. 2) E. XOR and Favorite Number

    time limit per test 4 seconds memory limit per test 256 megabytes input standard input output standa ...

  10. Long Long Message POJ - 2774 后缀数组

    The little cat is majoring in physics in the capital of Byterland. A piece of sad news comes to him ...