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()提供一个有效值,但是那个页面上没有任何对象时抛出。

你可能感兴趣的:(Django学习(八)- 分页器)