首页 > 其他分享 >django中使用分页器功能

django中使用分页器功能

时间:2023-03-20 22:35:52浏览次数:41  
标签:Paginator 功能 分页 记录 打印 django page page1

要使用Django实现分页器,必须从Django中导入Paginator模块

from django.core.paginator import Paginator

假如现在有150条记录要显示,每页显示10条

>>> from django.core.paginator import Paginator#导入Paginator模块
>>> list1=[i for i in range(0,150)]#使用列表生成器生成一个包含150个数字的列表
>>> page1=Paginator(list1,10)#生成一个Paginator对象
>>> print(page1.count)#打印总的记录数,即列表list1的长度
150
>>> print(page1.num_pages)#打印总的页数,即总记录数除以每页显示的条目数
15
>>> print(page1.page_range)#页数的列表
range(1, 16)
>>> print(page1.page(1))#打印第一页的page对象
<Page 1 of 15>
>>> page1.page(1).object_list#打印第一页的所有记录
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> page1.page(2).object_list#打印第二页的所有记录
[10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
>>> page1.page(2).next_page_number()#打印当前的页(第2页)的下一页的页码
3
>>> page1.page(2).has_next()#第2页是否有下一页
True
>>> page1.page(2).has_previous()#第2页是否有上一页
True
>>> page1.page(2).has_other_pages()#第2是否有其他页
True
>>> page1.page(2).start_index()#第2页第一条记录的序号
11
>>> page1.page(2).end_index()#第2页最后一条记录的序号
20
>>> page1.page(0)#第0页是否有记录,会报错
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
    ...
    raise EmptyPage(_('That page number is less than 1'))
django.core.paginator.EmptyPage: <exception str() failed>
>>> page1.page(15)#打印第15页的对象
<Page 15 of 15>

 

标签:Paginator,功能,分页,记录,打印,django,page,page1
From: https://www.cnblogs.com/shaoyishi/p/17238170.html

相关文章

  • js实现trim的功能
    trim:function(str){returnstr.replace(/(^\s*)|(\s*$)/g,"");}ltrim:function(str){returnstr.replace(/(^\s*)/g,"");}rtrim:function(str){returnstr.replace(......
  • 地铁查询系统3 实现了起点到终点查询的一半功能
    我们团队截止到目前已经能够计算起始点到终点站的站数,与老师的要求还有一定的差距,我们会尽力赶上进度chanxun-04.jsp<%@pagelanguage="java"contentType="text/html;......
  • mybatis 功能 beetl 实现 beetlsql
    beetlsql是使用beetl来完成mybatis功能。同时具有Hibernate优点&Mybatis优点功能,适用于承认以SQL为中心,同时又需求工具能自动能生成大量常用的SQL的应用。S......
  • 尚硅谷MyBatis8_各种查询功能
    查询一个实体类对象查询出的数据只有一条,可以通过「实体类对象」or「集合」or「map」接收/***根据用户id查询用户信息*@paramid*@return*/UsergetUserById(@Pa......
  • 管理员关闭gitlab的邮箱通知功能
    1、修改配置文件vim/etc/gitlab/gitlab.rb里面的关键配置如下:###EmailSettings#gitlab_rails['gitlab_email_enabled']=true如果想要关闭的话,改成如下:gitla......
  • 新功能!FinClip有营销模板啦!
    苦于寻找营销模板的小伙伴们快看过来!近日,FinClip新上线了多项开发者期待已久的功能,其中的「营销模板」能够帮助小程序与应用开发者快速在已有App中引入多个具备「营销......
  • 基于Kafka和Elasticsearch构建实时站内搜索功能的实践
    作者:京东物流纪卓志目前我们在构建一个多租户多产品类网站,为了让用户更好的找到他们所需要的产品,我们需要构建站内搜索功能,并且它应该是实时更新的。本文将会讨论构建这......
  • 记事本软件哪个强?这些功能你不能错过
    对于需要在生活、学习、工作中随手记事的网友来说,一定对手机记事本软件不陌生。使用一款记事本工具,不仅可以帮助快速记录各种事项,而且方便保存、随时查看、搜索记事内容使......
  • 使用自定义关键字实现上传文件功能(keyword)
    1.创建cn.groovy(右键New-package;右键new-keyword)-创建完成packagetestclassimportstaticcom.kms.katalon.core.checkpoint.CheckpointFactory.findCheckpointimportsta......
  • mysql-connector-python驱动和django-mysql-pool连接池
    ##################### 为了设计一个公用的、安全的连接池接口,可以考虑以下几个方面:封装连接池初始化和获取连接的逻辑,使得调用者不需要了解连接池的具体实现细节,只需要调......