前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >39. Django 2.1.7 Admin - 列表页选项

39. Django 2.1.7 Admin - 列表页选项

作者头像
Devops海洋的渔夫
发布于 2022-01-17 01:43:34
发布于 2022-01-17 01:43:34
39300
代码可运行
举报
文章被收录于专栏:Devops专栏Devops专栏
运行总次数:0
代码可运行

页大小

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
list_per_page=100

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@admin.register(ServerInfo)
class ServerInfoAdmin(admin.ModelAdmin):
    list_per_page = 2# 设置每页显示两条数据

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

"操作选项"的位置

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
actions_on_top=True

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
actions_on_bottom=False

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

列表中的列

属性如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
list_display=[模型字段1,模型字段2,...]

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@admin.register(ServerInfo)
class ServerInfoAdmin(admin.ModelAdmin):
    list_per_page = 2
    list_display = ['id', 'server_hostname', 'server_intranet_ip','server_internet_ip','server_shelves_date','update_time']

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

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

将方法作为列

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class ServerInfo(models.Model):
    server_hostname = models.CharField(max_length=20, default=None)
    ....
    
    # 设置返回hostname
    def hostname(self):
        return self.server_hostname

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class ServerInfoAdmin(admin.ModelAdmin):
    ....
    list_display = ['id', 'hostname', 'server_intranet_ip','server_internet_ip','server_shelves_date','update_time']

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
admin_order_field=模型类字段

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class ServerInfo(models.Model):
    ....

    # 设置返回hostname
    def hostname(self):
        return self.server_hostname
    hostname.admin_order_field='server_hostname'

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

列标题

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
short_description='列标题'

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class ServerInfo(models.Model):
    ...

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

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

关联对象字段

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class ServerInfo(models.Model):
    ....

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

    # 查询一个中间件信息
    def midware_name(self):
        midware = MiddlewareInfo.middlewares_obj.get(id=1)
        return midware.name
    midware_name.short_description='中间件名称'

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@admin.register(ServerInfo)
class ServerInfoAdmin(admin.ModelAdmin):
    ...
    list_display = ['id', 'hostname','midware_name',....]

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

右侧栏过滤器

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
list_filter=[]

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class ServerInfoAdmin(admin.ModelAdmin):
    list_filter = ['server_intranet_ip']

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

搜索框

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
search_fields=[]

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class ServerInfoAdmin(admin.ModelAdmin):
    search_fields = ['server_hostname']
    ....

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

中文标题

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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)在浏览器中刷新效果如下图:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-02-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 海洋的渔夫 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Django 2.1.7 Admin - 编辑页选项
Django 2.1.7 Admin管理后台 - 注册模型、自定义显示列表字段 Django 2.1.7 Admin - 列表页选项
Devops海洋的渔夫
2019/07/08
1K0
Django 2.1.7 Admin - 编辑页选项
11. Django 2.1.7 MVT模型示例 - 查询数据,返回渲染模板数据
上一篇文章讲述了Django 2.1.7 创建应用模板,基本已经理解了Django 2.1.7 框架下如何调用模板,并且渲染数据。
Devops海洋的渔夫
2022/01/17
5600
11. Django 2.1.7 MVT模型示例 - 查询数据,返回渲染模板数据
Django3.2边学边记—Adimn站点管理
ModelAdmin类可以控制不同模型在Admin界面中的展示方式,主要包括在列表页的展示方式、添加修改页的展示方式
用户1503405
2021/09/27
1.4K0
Django admin简单介绍
生成同步数据库的脚本: python manage.py makemigrations 同步数据库: python manage.py migrate 创建后台用户 python manage.py createsuperuser 访问 admin 界面:http://127.0.0.1:8000/admin 后台展示 Book 表 在 admin.py 上修改 from django.contrib import admin from app01.models import * # Register
py3study
2020/01/15
3900
Django admin简单介绍
Django 做个小后台,细节在完善一点点【附源码】
在上一篇博客实现了列表数据展示,但是只显示了一列,并且列标题为英文,本篇博客首先解决该问题。
程序员迪迪
2022/01/04
4210
python测试开发django-35.xadmin注册表信息
xadmin后台如果要对表的内容增删改查,跟之前的admin.py文件里面写注册表信息一样,需在admin.py同一级目录新建一个adminx.py的文件。 然后在adminx.py文件控制页面上需显示的内容。
上海-悠悠
2019/05/06
5520
python测试开发django-35.xadmin注册表信息
Django 2.1.7 Admin - 列表页选项
https://docs.djangoproject.com/zh-hans/2.1/intro/tutorial07/
Devops海洋的渔夫
2019/07/08
1.1K0
Django 2.1.7 Admin - 列表页选项
Django 2.1.7 Admin管理后台 - 注册模型、自定义显示列表字段
https://docs.djangoproject.com/zh-hans/2.1/intro/tutorial07/ 时区 国际化
Devops海洋的渔夫
2019/07/01
2.8K0
Django 2.1.7 Admin管理后台 - 注册模型、自定义显示列表字段
Django 2.1.7 基于默认sqlite3 模型设计 以及 数据操作
一般操作数据库是通过写sql语句,那么能不能不写sql语句就可以操作数据库呢? 可以,就是通过接下来要给大家讲的ORM框架。
Devops海洋的渔夫
2019/06/11
9810
Django 2.1.7 基于默认sqlite3 模型设计 以及 数据操作
Django 2.1.7 模型的关联
上一篇Django 2.1.7 模型 - 条件查询 F对象 Q对象 聚合查询讲述了关于Django模型的F对象、Q对象、聚合查询等功能。
Devops海洋的渔夫
2019/06/17
1.5K0
Django 2.1.7 模型的关联
Django 2.1.7 模型 - 使用mysql数据库连接访问
上一篇Django 2.1.7 MVT模型示例 - 查询数据,返回渲染模板数据讲述了如何使用sqlite3作为数据库,执行模型查询数据,并返回渲染页面。
Devops海洋的渔夫
2019/06/15
2.3K0
Django 上传图片和Admin站点5.2
上传图片 当Django在处理文件上传的时候,文件数据被保存在request.FILES FILES中的每个键为<input type="file" name="" />中的name 注意:FILES只有在请求的方法为POST 且提交的<form>带有enctype="multipart/form-data" 的情况下才会包含数据。否则,FILES 将为一个空的类似于字典的对象 使用模型处理上传文件:将属性定义成models.ImageField类型 pic=models.ImageField(upload
Lansonli
2021/10/09
4980
Django Admin 后台自定制技巧
Django最强大的部分之一是自动管理界面。它从模型中读取元数据,以提供一个快速的,以模型为中心的界面,受信任的用户可以在其中管理您网站上的内容。管理员的建议用法仅限于组织的内部管理工具。它并非旨在构建您的整个前端。
王瑞MVP
2022/12/28
1.4K0
Django Admin 后台自定制技巧
Django 2.1.7 模型管理器 models.Manager 以及 元选项
上一篇Django 2.1.7 模型的关联 讲述了关于Django模型一对多、多对多、自关联等模型关系。
Devops海洋的渔夫
2019/06/17
9890
Django 2.1.7 模型管理器 models.Manager 以及 元选项
Django Admin后台定制简单监控页
我们使用Django的Admin二次定制一个图形化界面,首先我们把语言设置为中文简体.
王瑞MVP
2022/12/28
3510
Django Admin后台定制简单监控页
Admin站点
AppConfig.name 属性表示这个配置类是加载到哪个应用的,每个配置类必须包含此属性,默认自动生成。
py3study
2020/01/15
2.2K0
Admin站点
Django3.2边学边记—Adimn站点管理
ModelAdmin类可以控制不同模型在Admin界面中的展示方式,主要包括在列表页的展示方式、添加修改页的展示方式
玖柒的小窝
2021/09/24
1.2K0
Django3.2边学边记—Adimn站点管理
django后台管理-admin
0922自我总结 django后台管理-admin 一.模型注册 admin.py 注册方式一: #在对于注册的app中的admin文件中导入模型然后注册模型 admin.site.register(导入的模型类) 注册方式二该方法是Django1.7的版本新增的功能: from django.contrib import admin from blog.models import Blog #Blog模型的管理器 @admin.register(Blog) class BlogAdmin(admin
小小咸鱼YwY
2020/06/19
9000
Django-admin配置和显示图标
添加完之后重启项目; 如未显示,请检查文件路径是否正确。 如果还没有显示,请在setting.py中加入以下代码:
kirin
2020/09/07
2.1K0
Django 2.1.7 模型类 - 字段类型
上一篇Django 2.1.7 模型 - 使用mysql数据库连接访问讲述了如何使用mysql作为数据库,执行模型查询数据,并返回渲染页面。
Devops海洋的渔夫
2019/06/15
1.7K0
推荐阅读
相关推荐
Django 2.1.7 Admin - 编辑页选项
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文