39. Django 2.1.7 Admin - 列表页选项

2024-08-21 03:38
文章标签 django 列表 选项 admin 39 2.1

本文主要是介绍39. Django 2.1.7 Admin - 列表页选项,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

参考文献

https://docs.djangoproject.com/zh-hans/2.1/intro/tutorial07/

页大小

每页中显示多少条数据,默认为每页显示100条数据,属性如下:

list_per_page=100

1)打开assetinfo/admin.py文件,修改ServerInfoAdmin类如下:

@admin.register(ServerInfo)
class ServerInfoAdmin(admin.ModelAdmin):list_per_page = 2 # 设置每页显示两条数据

2)在浏览器中查看服务器信息的列表页面,效果如下图:

"操作选项"的位置

顶部显示的属性,设置为True在顶部显示,设置为False不在顶部显示,默认为True。

actions_on_top=True

底部显示的属性,设置为True在底部显示,设置为False不在底部显示,默认为False。

actions_on_bottom=False

2)在浏览器中刷新效果如下图:

列表中的列

属性如下:

list_display=[模型字段1,模型字段2,...]

1)打开assetinfo/admin.py文件,修改ServerInfoAdmin类如下:

@admin.register(ServerInfo)
class ServerInfoAdmin(admin.ModelAdmin):list_per_page = 2list_display = ['id', 'server_hostname', 'server_intranet_ip','server_internet_ip','server_shelves_date','update_time']

2)在浏览器中刷新效果如下图:

点击列头可以进行升序或降序排列。

将方法作为列

列可以是模型字段,还可以是模型方法,要求方法有返回值。

1)打开assetinfo/models.py文件,修改ServerInfo类如下:

class ServerInfo(models.Model):server_hostname = models.CharField(max_length=20, default=None)....# 设置返回hostnamedef hostname(self):return self.server_hostname

2)打开assetinfo/admin.py文件,修改ServerInfoAdmin类如下:

class ServerInfoAdmin(admin.ModelAdmin):....list_display = ['id', 'hostname', 'server_intranet_ip','server_internet_ip','server_shelves_date','update_time']

3)在浏览器中刷新效果如下图:

方法列是不能排序的,如果需要排序,则需要为方法指定排序依据。

admin_order_field=模型类字段

1)打开assetinfo/models.py文件,修改ServerInfo类如下:

class ServerInfo(models.Model):....# 设置返回hostnamedef hostname(self):return self.server_hostnamehostname.admin_order_field='server_hostname'

2)在浏览器中刷新效果如下图:

列标题

列标题默认为属性或方法的名称,可以通过属性设置。需要先将模型字段封装成方法,再对方法使用这个属性,模型字段不能直接使用这个属性。

short_description='列标题'

1)打开assetinfo/models.py文件,修改ServerInfo类如下:

class ServerInfo(models.Model):...# 设置返回hostnamedef hostname(self):return self.server_hostnamehostname.admin_order_field='server_hostname'hostname.short_description='服务器名称' # 设置方法的列标题

2)在浏览器中刷新效果如下图:

关联对象字段

在模型表中如果还要关联的其他模型表的字段,那么可以通过在模型中封装方法来展示。

1)打开assetinfo/models.py文件,修改ServerInfo类如下:

class ServerInfo(models.Model):....# 设置返回hostnamedef hostname(self):return self.server_hostnamehostname.admin_order_field='server_hostname'hostname.short_description='服务器名称' # 设置方法的列标题# 查询一个中间件信息def midware_name(self):midware = MiddlewareInfo.middlewares_obj.get(id=1)return midware.namemidware_name.short_description='中间件名称'

2)打开assetinfo/admin.py文件,修改ServerInfoAdmin类如下:

@admin.register(ServerInfo)
class ServerInfoAdmin(admin.ModelAdmin):...list_display = ['id', 'hostname','midware_name',....]

3)在浏览器中刷新效果如下图:

右侧栏过滤器

属性如下,只能接收字段,会将对应字段的值列出来,用于快速过滤。一般用于有重复值的字段。

list_filter=[]

1)打开assetinfo/admin.py文件,修改ServerInfoAdmin类如下:

class ServerInfoAdmin(admin.ModelAdmin):list_filter = ['server_intranet_ip']

2)在浏览器中刷新效果如下图:

搜索框

属性如下,用于对指定字段的值进行搜索,支持模糊查询。列表类型,表示在这些字段上进行搜索。

search_fields=[]

1)打开assetinfo/admin.py文件,修改ServerInfoAdmin类如下:

class ServerInfoAdmin(admin.ModelAdmin):search_fields = ['server_hostname']....

2)在浏览器中刷新效果如下图:

中文标题

在上面模型类通过方法可以设置中文的列标题,但是直接字段是用不同的方式来设置中文标题的。

1)打开assetinfo/models.py文件,修改模型类,为属性指定verbose_name参数,即第一个参数。

class ServerInfo(models.Model):server_hostname = models.CharField(max_length=20, default=None, verbose_name='服务器名称')server_intranet_ip = models.CharField(max_length=20, default=None, verbose_name='内网IP')server_internet_ip = models.CharField(max_length=20, default=None, verbose_name='外网IP')server_shelves_date = models.DateField(auto_now_add=True, verbose_name='服务设置时间') # 数据加入时间update_time = models.DateTimeField(auto_now=True, verbose_name='更新时间') # 数据更新时间...

2)在浏览器中刷新效果如下图:

这篇关于39. Django 2.1.7 Admin - 列表页选项的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1092019

相关文章

Python 常用数据类型详解之字符串、列表、字典操作方法

《Python常用数据类型详解之字符串、列表、字典操作方法》在Python中,字符串、列表和字典是最常用的数据类型,它们在数据处理、程序设计和算法实现中扮演着重要角色,接下来通过本文给大家介绍这三种... 目录一、字符串(String)(一)创建字符串(二)字符串操作1. 字符串连接2. 字符串重复3. 字

k8s admin用户生成token方式

《k8sadmin用户生成token方式》用户使用Kubernetes1.28创建admin命名空间并部署,通过ClusterRoleBinding为jenkins用户授权集群级权限,生成并获取其t... 目录k8s admin用户生成token创建一个admin的命名空间查看k8s namespace 的

Python进阶之列表推导式的10个核心技巧

《Python进阶之列表推导式的10个核心技巧》在Python编程中,列表推导式(ListComprehension)是提升代码效率的瑞士军刀,本文将通过真实场景案例,揭示列表推导式的进阶用法,希望对... 目录一、基础语法重构:理解推导式的底层逻辑二、嵌套循环:破解多维数据处理难题三、条件表达式:实现分支

Python库 Django 的简介、安装、用法入门教程

《Python库Django的简介、安装、用法入门教程》Django是Python最流行的Web框架之一,它帮助开发者快速、高效地构建功能强大的Web应用程序,接下来我们将从简介、安装到用法详解,... 目录一、Django 简介 二、Django 的安装教程 1. 创建虚拟环境2. 安装Django三、创

把Python列表中的元素移动到开头的三种方法

《把Python列表中的元素移动到开头的三种方法》在Python编程中,我们经常需要对列表(list)进行操作,有时,我们希望将列表中的某个元素移动到最前面,使其成为第一项,本文给大家介绍了把Pyth... 目录一、查找删除插入法1. 找到元素的索引2. 移除元素3. 插入到列表开头二、使用列表切片(Lis

Django中的函数视图和类视图以及路由的定义方式

《Django中的函数视图和类视图以及路由的定义方式》Django视图分函数视图和类视图,前者用函数处理请求,后者继承View类定义方法,路由使用path()、re_path()或url(),通过in... 目录函数视图类视图路由总路由函数视图的路由类视图定义路由总结Django允许接收的请求方法http

Django HTTPResponse响应体中返回openpyxl生成的文件过程

《DjangoHTTPResponse响应体中返回openpyxl生成的文件过程》Django返回文件流时需通过Content-Disposition头指定编码后的文件名,使用openpyxl的sa... 目录Django返回文件流时使用指定文件名Django HTTPResponse响应体中返回openp

Django开发时如何避免频繁发送短信验证码(python图文代码)

《Django开发时如何避免频繁发送短信验证码(python图文代码)》Django开发时,为防止频繁发送验证码,后端需用Redis限制请求频率,结合管道技术提升效率,通过生产者消费者模式解耦业务逻辑... 目录避免频繁发送 验证码1. www.chinasem.cn避免频繁发送 验证码逻辑分析2. 避免频繁

python中列表应用和扩展性实用详解

《python中列表应用和扩展性实用详解》文章介绍了Python列表的核心特性:有序数据集合,用[]定义,元素类型可不同,支持迭代、循环、切片,可执行增删改查、排序、推导式及嵌套操作,是常用的数据处理... 目录1、列表定义2、格式3、列表是可迭代对象4、列表的常见操作总结1、列表定义是处理一组有序项目的

C++11范围for初始化列表auto decltype详解

《C++11范围for初始化列表autodecltype详解》C++11引入auto类型推导、decltype类型推断、统一列表初始化、范围for循环及智能指针,提升代码简洁性、类型安全与资源管理效... 目录C++11新特性1. 自动类型推导auto1.1 基本语法2. decltype3. 列表初始化3