Django学习(八)- 分页器
2019-03-01 本文已影响2人
MA木易YA
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()提供一个有效值,但是那个页面上没有任何对象时抛出。