Django工具

一、分页器介绍

image-20221031200129299

1.1、介绍

分页,就是当我们在页面中显示一些信息列表,内容过多,一个页面显示不完,需要分成多个页面进行显示时,使用的技术就是分页技术

image-20221031200221445

在django项目中,一般是使用3种分页的技术:

  1. 自定义分页功能,所有的分页功能都是自己实现
  2. django的插件 django-pagination 实现
  3. django自带的分页器 paginator

1.2、分页器相关对象

分页器的对象在 django/core/paginator.py 模块中,主要包括Paginator类和Page类:

1.2.1、Paginator类
  1. 初始化方法__init__(self, object_list, per_page, orphans=0,allow_empty_first_page=True):

    • object_list:可以是QuerySet、带有count()或__len__()方法的列表、元组或其它可切片的对象,如果是QuerySet,应该进行排序,使用order_by()子句或者有默认的ordering
    • per_page:每个页面上显示的项目数目,不包括orphans部分
    • orphans:默认为0,如果最后一页显示的数目小于等于该数值,那么则将最后一页的内容(假设数为N)添加到倒数第二页中去,这样的话倒数第二页就成了最后一页,显示的数目为:per_page+N
    • allow_empty_first_page:默认为True,允许第一页显示空白内容,如果设置为False,那么当object_list为空时,抛出EmptyPage错误
  2. 方法

    1. get_page(self, number)

      • numer:指定页码数,正确值应该是大于等于1的整数

      返回指定number的Page对象,同时还处理超出范围和无效页码,如果number不是数字,则返回第一页,如果number为负数或大于最大页数,则返回最后一页。

    2. page(self, number)

      • numer:指定页码数,正确值应该是大于等于1的整数

      返回指定number的Page对象,不处理异常,如果number无效,则抛出 InvalidPage 错误

  3. 属性

    1. count:项目总条数,调用该属性时,优先调用object_list的count()方法,没有count()方法才尝试len(object_list)方法
    2. num_pages:总页码数
    3. page_range:从1开始的页码迭代器,代码:range(1, self.num_pages

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/525066.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《Effective Modern C++》- 极精简版 15-21条

本文章属于专栏《业界Cpp进阶建议整理》 继续上篇《Effective Modern C》- 极精简版 5-14条。本文列出《Effective Modern C》的15-21条的个人理解的极精简版本。 Item15、尽量使用constexpr constexpr形容对象 constexpr对象都是const,但是const对象不一定是conste…

React-useEffect

1.概念 说明:用于在React组件中创建不是由事件引起而是由渲染本身引起的操作,比如发送 A列AX请求,更改DOM等。 2.案例 // useEffect用于组件不是由事件引起的而是由渲染本身引起的操作,如ajax,更改Dom等。 import { useEffect,…

Igraph入门指南 4

二、图的创建 图分有向图和无向图,所以图的创建有各自的实现方式。 1、手工创建图: 1-1 通过文本创建:graph_from_literal 通过每项提供两个顶点名(或ID号)作为一条边的格式,手动创建图,顶点…

C#中对象的相等性与同一性的判断方法总结

C#对象的相等性与同一性 1. 概述与准备1.1 概述1.2 准备 2. Equals(Object)2.1 功能:2.2 实例:2.3 扩展:2.4 重写此方法 3. Equals(Object, Object)3.1 功能3.2 实例 4. ReferenceEquals(Object, Object)4.1 功能4.2 使用场景:4.3…

管理交换机

文章目录 本地管理交换机物理交换机如何本地管理ensp上的虚拟交换机如何本地管理认证模式的三种方式 远程管理交换机配置通过Telnet登录设备配置通过STelnet登录设备 --推荐的方式检查配置结果使用Cloud管理多个交换机时 华为官网配置信息 本地管理交换机 当交换机首次使用时&…

族群争霸休闲养成小游戏

​游戏概述: 在一个由自然力量支配的幻想世界中,狼族与羊族的战争永无止境。 人族在两者之间寻求和平,建立起坚固的城墙,同时捕捉狼与羊来增强自身实力。 神族则在幕后观察,偶尔以神技介入战场,影响战局…

giffgaff怎么充值?giffgaff怎么续费?

-性价比高:0月租,免费接收短信,充值一次,接码可以用20年以上(仅需半年保号一次),可能是国内性价比最高的接码实体卡!-安全:实体卡无须担心因号码被风控,还可以…

多边形质心(centroid)的计算方法

原文代码 // polygon按顺时针排列顶点 function getCentroid(polygon) {var totalArea 0var totalX 0var totalY 0var points polygon[0]for (var i 0; i < points.length; i) {// a、b以及原点构成一个三角形var a points[i 1]var b points[i]var area 0.5 * (a[…

使用jar命令删除.jar文件中的重复的类和目录并重新打包

引言&#xff1a; android项目&#xff0c;引入的 .jar包 和 .aar中 有相同的类&#xff0c;导致编译冲突&#xff0c;由于这些依赖项没有上传到Maven仓库&#xff0c;无法使用 exclude 排除&#xff0c;只能尝试修改jar文件&#xff0c;删除重复的代码&#xff0c;再重新打包…

MySQL进阶之(五)InnoDB数据存储结构之表空间

五、InnoDB数据存储结构之表空间 5.1 数据页加载的三种方式5.1.1 内存读取5.1.2 随机读取5.1.3 顺序读取 5.2 区5.2.1 为什么要有区&#xff1f;5.2.2 碎片区5.2.3 区的分类 5.3 段5.4 表空间5.4.1 独立表空间5.4.2 系统表空间 在数据页结构中提到过&#xff0c;页的上层结构中…

poll开发服务器

int poll(struct pollfd *fds, nfds_t nfds, int timeout); 函数说明&#xff1a;与select类似&#xff0c;委托内核监控可读&#xff0c;可写&#xff0c;异常事件。 函数说明&#xff1a; fds&#xff1a;一个struct pollfd结构体数组的首地址 struct pollfd { …

SpringCloudGateway全局过滤器

文章目录 全局过滤器的作用自定义全局过滤器过滤器执行的顺序 上一篇 Gateway理论与实践 介绍的过滤器&#xff0c;网关提供了31种&#xff0c;但每一种过滤器的作用都是固定的。如果我们希望拦截请求&#xff0c;做自己的业务逻辑则没办法实现。 全局过滤器的作用 全局过滤器的…