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中合并列表(list)的六种方法小结

《Python中合并列表(list)的六种方法小结》本文主要介绍了Python中合并列表(list)的六种方法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋... 目录一、直接用 + 合并列表二、用 extend() js方法三、用 zip() 函数交叉合并四、用

Spring Boot中的YML配置列表及应用小结

《SpringBoot中的YML配置列表及应用小结》在SpringBoot中使用YAML进行列表的配置不仅简洁明了,还能提高代码的可读性和可维护性,:本文主要介绍SpringBoot中的YML配... 目录YAML列表的基础语法在Spring Boot中的应用从YAML读取列表列表中的复杂对象其他注意事项总

对Django中时区的解读

《对Django中时区的解读》:本文主要介绍对Django中时区的解读方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录背景前端数据库中存储接口返回AI的解释问题:这样设置的作用答案获取当前时间(自动带时区)转换为北京时间显示总结背景设置时区为北京时间 TIM

C++类和对象之初始化列表的使用方式

《C++类和对象之初始化列表的使用方式》:本文主要介绍C++类和对象之初始化列表的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C++初始化列表详解:性能优化与正确实践什么是初始化列表?初始化列表的三大核心作用1. 性能优化:避免不必要的赋值操作2. 强

Django之定时任务django-crontab的实现

《Django之定时任务django-crontab的实现》Django可以使用第三方库如django-crontab来实现定时任务的调度,本文主要介绍了Django之定时任务django-cront... 目录crontab安装django-crontab注册应用定时时间格式定时时间示例设置定时任务@符号

Python列表去重的4种核心方法与实战指南详解

《Python列表去重的4种核心方法与实战指南详解》在Python开发中,处理列表数据时经常需要去除重复元素,本文将详细介绍4种最实用的列表去重方法,有需要的小伙伴可以根据自己的需要进行选择... 目录方法1:集合(set)去重法(最快速)方法2:顺序遍历法(保持顺序)方法3:副本删除法(原地修改)方法4:

Django序列化中SerializerMethodField的使用详解

《Django序列化中SerializerMethodField的使用详解》:本文主要介绍Django序列化中SerializerMethodField的使用,具有很好的参考价值,希望对大家有所帮... 目录SerializerMethodField的基本概念使用SerializerMethodField的

Python中DataFrame转列表的最全指南

《Python中DataFrame转列表的最全指南》在Python数据分析中,Pandas的DataFrame是最常用的数据结构之一,本文将为你详解5种主流DataFrame转换为列表的方法,大家可以... 目录引言一、基础转换方法解析1. tolist()直接转换法2. values.tolist()矩阵

Android App安装列表获取方法(实践方案)

《AndroidApp安装列表获取方法(实践方案)》文章介绍了Android11及以上版本获取应用列表的方案调整,包括权限配置、白名单配置和action配置三种方式,并提供了相应的Java和Kotl... 目录前言实现方案         方案概述一、 androidManifest 三种配置方式

python展开嵌套列表的多种方法

《python展开嵌套列表的多种方法》本文主要介绍了python展开嵌套列表的多种方法,包括for循环、列表推导式和sum函数三种方法,具有一定的参考价值,感兴趣的可以了解一下... 目录一、嵌套列表格式二、嵌套列表展开方法(一)for循环(1)for循环+append()(2)for循环+pyPhWiFd