django学习-23.admin管理后台的数据表数据的自定义展示
目录结构
2.1.第一步:如果我们想让数据表【hello_person】里面的表字段值全部展示出来,需在应用【hello】里的【admin.py】里添加list_display 属性等代码内容,相关代码如下
2.2.第二步:重启django项目【helloworld】的服务
2.4.第四步:查看数据表【hello_person】的列表展示内容
3.1.第一步:在刚才的代码基础上添加一个search_fields属性,设置搜索的条件按表字段name进行精确搜索和模糊搜索
3.2.第二步:重启django项目【helloworld】的服务
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管理后台的数据表数据的自定义展示的更多相关文章
- django学习-25.admin管理后台里:把表名称和表字段名称的展示值都由英文显示改为由中文显示
目录结构 1.前言 2.完整的操作步骤 2.1.第一步:修改模型类Article 2.2.第二步:重启服务 2.3.第三步:退出登录并再次成功登陆admin管理后台 2.4.第四步:查看最新的表名称展 ...
- django学习-19.admin管理后台的配置和登录
目录结构 1.前言 2.admin管理后台的配置和登录的完整操作流程 2.1.第一步: 在[settings.py]里对常量[INSTALLED_APPS]的值进行相关配置 2.2.第二步: 在[ur ...
- django学习-27.admin管理后台里:对列表展示页面的数据展示进行相关优化
目录结构 1.前言 2.完整的操作步骤 2.1.第一步:查看ModelAdmin类和BaseModelAdmin类的源码 2.2.第二步:查看表animal对应的列表展示页面默认的数据展示 2.3.第 ...
- django学习-26.admin管理后台里:修改登录页面标题,修改登录框标题,修改首页标题
目录结构 1.前言 2.完整的操作步骤 2.1.第一步:查看[site.py]的源码 2.2.第二步:在应用[hello]所在目录里的[admin.py]里重写三个属性的属性值 2.3.第三步:重启服 ...
- django学习-22.admi管理后台页面的文案展示等相关配置
目录结果 1.前言 2.完整的操作步骤 2.1.第一步:对[settings.py]里的相关常量的值做如下修改 2.2.第二步:重启django项目[helloworld]的服务 2.3.第三步:重新 ...
- Admin管理后台
Django奉行Python的内置电池哲学.它自带了一系列在Web开发中用于解决常见问题或需求的额外的.可选工具.这些工具和插件,例如django.contrib.redirects都必须在setti ...
- 四、Django之模型与管理后台-Part 2
一.数据库安装 打开mysite/settings.py配置文件,这是整个Django项目的设置中心.Django默认使用SQLite数据库,因为Python源生支持SQLite数据库,所以你无须安装 ...
- Django框架 之 admin管理工具(组件使用)
Django框架 之 admin管理工具(组件使用) 浏览目录 激活管理工具 使用管理工具 admin的定制 admin组件使用 Django 提供了基于 web 的管理工具. Django 自动管理 ...
- 第五章:Admin管理后台
Django奉行Python的内置电池哲学.它自带了一系列在Web开发中用于解决常见问题或需求的额外的.可选工具.这些工具和插件,例如django.contrib.redirects都必须在setti ...
随机推荐
- Web漏洞扫描-Burp Suite
Web漏洞扫描-Burp Suite 一.Burp Suite概述 二.功能及特点 三.Burp Suite安装 四.Burp Suite使用 一.Burp Suite概述 安全渗透界使用最广泛的漏扫 ...
- Docker 之 Jenkins自动化部署
Docker 之 Jenkins自动化部署 Jenkins部署 jenkis 绑定gitlab shell脚本自动化构建Docker镜像 提升maven构建速度 jenkins 无法通过shell脚本 ...
- chm打开看不到内容时好时坏
右击chm文件,属性====>解除锁定 再打开 ok
- Object类的常见方法总结
♧ Object类是比较特殊的类,它是所有类的父类.主要提供了11个方法(JDK 1.8为例): /** * native方法,用于返回当前运行时对象的Class对象,使用final关键字修饰,子类不 ...
- 狂神redis学习笔记
一.Nosql概述 为什么使用Nosql 1.单机Mysql时代 90年代,一个网站的访问量一般不会太大,单个数据库完全够用.随着用户增多,网站出现以下问题 数据量增加到一定程度,单机数据库就放不下了 ...
- Codeforces Round #673 (Div. 2) D. Make Them Equal(数论/构造)
题目链接:https://codeforces.com/contest/1417/problem/D 题意 给出一个大小为 $n$ 的正整数数组 $a$ ,每次操作如下: 选择 $i,j$ 和 $x$ ...
- 2017-2018 ACM-ICPC Latin American Regional Programming Contest PART (11/13)
$$2017-2018\ ACM-ICPC\ Latin\ American\ Regional\ Programming\ Contest$$ \(A.Arranging\ tiles\) \(B. ...
- AtCoder Beginner Contest 176 E - Bomber (思维)
题意:有一张\(H\)x\(W\)的图,给你\(M\)个目标的位置,你可以在图中放置一枚炸弹,炸弹可以摧毁所在的那一行和一列,问最多可以摧毁多少目标. 题解:首先我们记录某一行和某一列目标最多的数目, ...
- priority_queue()大根堆和小根堆(二叉堆)
#include<iostream> #include <queue> using namespace std; int main() { //对于基础类型 默认是大顶堆 pr ...
- 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 ...