python测试开发django-19.admin后台自定义显示
前言
django的admin后台默认显示的内容很少,只显示了表的相关信息,查看字段内容需点开详情才能查看,不是很直观。
在admin.py文件里面是可以自定义相关的展示内容的,也可以添加搜索框,快速的搜索相关内容
优化列表显示
django的表信息列表显示默认值显示了表的相关属性

如果我们想让表里面的字段内容全部显示出来,需在admin.py文件添加list_display 属性,相关代码如下
# admin.py
from django.contrib import admin
from hello import models
# Register your models here.
class ControlUser(admin.ModelAdmin):
'''自定义列表中栏目 添加list_display 属性'''
list_display = ('user_name', 'psw', 'mail') # 设置显示的字段
# User表
admin.site.register(models.User, ControlUser)
admin.site.register(models.Person)
修改后刷新页面,就可以看到显示相关字段的内容了

添加搜索
数据库里面信息很多的时候,为了方便快速的找到想要的数据,可以添加一个搜索功能, 可以用search_fields 为该列表页增加搜索栏:
在上面的代码基础上添加一个search_fields 熟悉,设置搜索的条件,按user_name搜索
from django.contrib import admin
from hello import models
# Register your models here.
class ControlUser(admin.ModelAdmin):
'''自定义列表中栏目 添加list_display 属性'''
# 显示的字段
list_display = ('user_name', 'psw', 'mail')
# 搜索条件user_name
search_fields = ('user_name',)
# User表
admin.site.register(models.User, ControlUser)
admin.site.register(models.Person)
刷新页面,就会多一个搜索框

搜索的内容,是可以支持模糊匹配的

装饰器方法
除了上面的写法,还有一种装饰器的方法也可以实现同样的效果
from django.contrib import admin
from hello.models import User,Person
# Register your models here.
@admin.register(User)
class ControlUser(admin.ModelAdmin):
'''自定义列表中栏目 添加list_display 属性'''
# 显示的字段
list_display = ('user_name', 'psw', 'mail')
# 搜索条件user_name
search_fields = ('user_name',)
admin.site.register(Person)
django交流QQ群:779429633
python测试开发django-19.admin后台自定义显示的更多相关文章
- python测试开发django-34.xadmin管理后台
前言 django自带的admin后台管理页面有点丑陋,于是网上的大神优化了一版后台管理xadmin,并且开源了,在github开源下载到源码. 注意环境搭配: django 2.1.2 xadmin ...
- python测试开发django-17.admin后台管理
前言 通常一个网站开发,需要有个后台管理功能,比如用后台管理发布文章,添加用户之类的操作.django的admin后台管理主要可以实现以下功能 基于admin模块,可以实现类似数据库客户端的功能,对数 ...
- python测试开发django-18.admin后台中文版
前言 django的admin后台页面默认是英文的,不喜欢英文的话,可以改下setting.py里面的语言设置,改成中文版的显示 语言设置 打开setting.py,找到以下内容 # Internat ...
- python测试开发django-22.admin首页和title修改
前言 django的admin首页默认显示的"Django 管理",title显示的是"Django 站点管理员",这里的文案内容可以修改成自己项目的后台页面内 ...
- 自定义django的admin后台action
django的admin后台管理系统中自带了一个批量删除所选对象的action. 我们还可以添加自定义的action来实现其它类似的功能,如批量修改某个字段的功能.简单的,例如将文章批量标记为已发布的 ...
- python测试开发django-36.一对一(OneToOneField)关系查询
前言 前面一篇在xadmin后台一个页面显示2个关联表(OneToOneField)的字段,使用inlines内联显示.本篇继续学习一对一(OneToOneField)关系的查询. 上一篇list_d ...
- python测试开发django-197.django-celery-beat 定时任务
前言 django-celery-beat 可以支持定时任务,把定时任务写到数据库. 接着前面这篇写python测试开发django-196.python3.8+django2+celery5.2.7 ...
- python测试开发django-41.crispy-forms设计标签式导航菜单(TabHolder)
前言 xadmin的详情页面主要是用form_layout布局,学会了完全可以不用写html代码,也能做出很好看的页面. xadmin的html页面是用的Bootstrap3框架设计的,layout布 ...
- python测试开发django-16.JsonResponse返回中文编码问题
前言 django查询到的结果,用JsonResponse返回在页面上显示类似于\u4e2d\u6587 ,注意这个不叫乱码,这个是unicode编码,python3默认返回的编码 遇到问题 接着前面 ...
随机推荐
- Angular2 CLI安装
官方文档: https://angular.cn/docs/ts/latest/cli-quickstart.html 实现步骤: 1.设置开发环境 2.创建新项目以及应用的骨架 3.启动开启服务 4 ...
- hdu 5011 nim博弈 (2014西安网赛E题)
n堆石子,每次可以选一堆取走至少一个,之后你可以不操作或者把该堆石子分成两堆,每堆至少一个,和还是原来(取完石子后)的石子个数. Sample Input1121 131 2 3 Sample Out ...
- Java第三阶段学习(十一、Servlet基础、servlet中的方法、servlet的配置、ServletContext对象)
一.Servlet简介 1.什么是servlet: sun公司提供的一套规范(接口),用来处理客户端请求.响应给浏览器的动态资源.但servlet的实质就是java代码,通过java的API动态的向 ...
- VMware虚拟机三种联网方法及原理
VMware虚拟机三种联网方法及原理 一.Brigde——桥接:默认使用VMnet0 1.原理: Bridge 桥"就是一个主机,这个机器拥有两块网卡,分别处于两个局域网中,同时 ...
- P1736 创意吃鱼法 图的DP
题目描述 回到家中的猫猫把三桶鱼全部转移到了她那长方形大池子中,然后开始思考:到底要以何种方法吃鱼呢(猫猫就是这么可爱,吃鱼也要想好吃法 ^_*).她发现,把大池子视为01矩阵(0表示对应位置无鱼,1 ...
- js冲刺一下
js中__proto__和prototype的区别和关系 1.对象有属性__proto__,指向该对象的构造函数的原型对象. 2.方法除了有属性__proto__,还有属性prototype,prot ...
- Javascript实现一个插件
写一个插件,兼容commonjs,amd,cmd,原生js. ;(function (global, factory) { if(typeof define == 'function' &&a ...
- 【BZOJ-4184 】 Shallot 线段树按时间分治 + 线性基
4184: shallot Time Limit: 30 Sec Memory Limit: 128 MBSubmit: 356 Solved: 180[Submit][Status][Discu ...
- 20172330 2017-2018-1 《Java程序设计》第六周学习总结
学号 2017-2018-2 <程序设计与数据结构>第六周学习总结 教材学习内容总结 这一章主要是对数组的学习: 数组是一种简单而功能强大的编程语言结构,用于分组和组织数据.在java中, ...
- Codeforces Round #396 (Div. 2) C. Mahmoud and a Message dp
C. Mahmoud and a Message 题目连接: http://codeforces.com/contest/766/problem/C Description Mahmoud wrote ...