Django学习(八)- 分页器

Django集成了一个分页器帮助我们管理数据——Paginator

1. 引用

from django.core.paginator import Paginator

2. 使用

i. 实例化分页器,分页的对象列表是ar,每一页为5条数据。
paginator = Paginator(ar, 5)

ii. 分页器里面的所有数据的个数
paginator.count

iii. paginator分页器的所有页数
paginator.num_pages

iv. 导入分页器
from django.core.paginator import Paginator

v. 分页器中的所有对象的一个列表
paginator.object_list

vi. 得到具体的某一页
page1 = paginator.get_page(1)

vii. page1是否有下一页
page1.has_next()

viii. page1是否有上一页
page1.has_previous()

ix. page1的下一页的页码
page1.next_page_number()

x. 当前页码
page1.number

xi. 得到paginator分页器这个对象
page1.paginator

xii. 当前页的对象列表
page1.object_list

xiii. 基于1的页数范围迭代器
paginator.page_range

  • 异常处理:
        在实例使用中,用户请求的页面,可能千奇百怪,这就会有可能导致异常,需要特别处理,Django为我们内置了下面几个Paginator相关异常。

    • exception InvalidPage[source]:异常的基类,当paginator传入一个无效的页码时抛出。
    • exception PageNotAnInteger[source]:当向page()提供一个不是整数的值时抛出。
    • exception EmptyPage[source]:当向page()提供一个有效值,但是那个页面上没有任何对象时抛出。
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 方法一:使用pure_pagination进行分页 1. pure_pagination介绍 pure_pagin...
    Jlan阅读 4,818评论 0 7
  • 一、Django框架前言知识: 1、C/S和B/S的区别: C/S结构软件:客户端/服务端软件,即客户端要自己下载...
    月下独酌123阅读 10,389评论 0 36
  • 模块间联系越多,其耦合性越强,同时表明其独立性越差( 降低耦合性,可以提高其独立性)。软件设计中通常用耦合度和内聚...
    riverstation阅读 6,362评论 0 8
  • 当页面因需要展示的数据条目过多,导致无法在一个页面全部显示。这时,页面经常会采用分页形式进行展示,然后每页显示 2...
    猴哥爱读书阅读 33,703评论 4 20
  • 全文链接 第一章 创建一个blog应用第二章 使用高级特性来增强你的blog第三章 扩展你的blog应用第四章上 ...
    夜夜月阅读 12,997评论 37 34

友情链接更多精彩内容