Django(part43)--分页(django分页器)

网友投稿 273 2022-08-31


Django(part43)--分页(django分页器)

学习笔记,仅供参考,有错必纠

分页

分页是指在web页面有大量数据需要显示时,当一页的内容太多不利于阅读和不利于数据提取的情况下,可以分为多页进行显示;

Django提供了一些类管理分页的数据 , 即将数据分在不同页面中,并带有​​上一页/下一页​​的链接;

这些类位于django/core/paginator.py文件中。

Paginator对象

Paginator对象的构造方法

Paginator(object_list, per_page)#object_list 对象列表,比如models.Book.objects.all()#per_page 每页数据个数,比如10

该构造函数的返回值为一个​​分页对象​​

Paginator属性

count#对象总数num_pages#页面总数page_range#从1开始, 用于记录当前面码数per_page #每页最大个数

Paginator方法

Paginator.page(number)#参数 number为页码信息(从1开始)#返回当前number页对应的页信息#如果提供的页码不存在,抛出InvalidPage异常

Paginator异常exception

InvalidPage#当向page()传入一个无效的页码时抛出PageNotAnInteger#当向page()传入一个不是整数的值时抛出EmptyPage#当向page()提供一个有效值,但是那个页面上没有任何对象时抛出

Page对象

调用Paginator对象的page()方法,将返回Page对象,不需要我们手动构造。

Page对象属性

object_list#当前页上所有对象的列表number#当前页的序号(从1开始)paginator#当前page对象相关的Paginator对象

Page对象方法

has_next()#如果有下一页返回Truehas_previous()#如果有上一页返回Truehas_other_pages()#如果有上一页或下一页返回Truenext_page_number()#返回下一页的页码,如果下一页不存在,抛出InvalidPage异常previous_page_number()#返回上一页的页码,如果上一页不存在,抛出InvalidPage异常len()#返回当前页面对象的个数

注意事项

Page对象是可迭代对象,可以用for语句来访问当前页面中的每个对象。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Django(part35)--多对多映射
下一篇:Java中的方法内联介绍
相关文章

 发表评论

暂时没有评论,来抢沙发吧~