1、Django自带分页器类名为Paginator,这个类存放在django/core/paginator.py,它可以接收列表,元组或者其他可迭代对象。
from django.core.paginator import Paginator #导入Paginator book_list = ['book1','book2','book3','book4'] Paginator = Paginator(book_list, 2) #设置每一页显示几条 创建一个panginator对象,即分页对象 #Paginator类的属性和方法 # print(Paginator.count) # 所有页面对象总数,即统计列表中总数目 # print(Paginator.num_pages) # 列表被分成几页 # print(Paginator.page_range) # 页码范围,从1开始,顾头不顾尾 Page = Paginator.get_page(2) #获取第几页数据 print(list(page2)) #Page对象的方法 Page.has_next() #是否有下一页 Page.has_previous() #是否有上一页 Page.has_other_pages() #是否有上一页或下一页 Page.next_page_number() #返回下一页的页码。如果下一页不存在,抛出InvlidPage异常。 Page.previous_page_number() #返回上一页的页码。如果上一页不存在,抛出InvalidPage异常。 Page.start_index() #返回当前页上的第一个对象,例如第二页的start_index()会返回3。 Page.end_index() #返回当前页上的最后一个对象,例如第二页的end_index() 会返回 4。 #page对象的属性 Page.object_list #当前页上所有对象的列表。 Page.number #当前页的序号,从1开始。