当前位置: 首页 > 工具软件 > Paginator > 使用案例 >

Django 分页 (paginator)

羊光辉
2023-12-01
from django.core.paginator import Paginator
def test_page(request):
    if request.method == "GET":
        page_num = request.GET.get('page',1)
        all_data = [10,20,30,40,50,60,70,80,90,100]
        paginator = Paginator(all_data,2)
        c_page = paginator.page(int(page_num))
        return render(request,"test_page.html",locals())

构造方法:

panginator = Paginator(object_list,per_page)
参数说明
object_list需要分类数据的对象列表
per_page每页数据个数
返回值panginator的对象

panginator对象的属性

属性说明
count需要分页的数据对象总数
num_pages分页后的页面总数
page_range从一开始的range对象,用于记录页码
per_page每页数据个数

panginator对象的方法

panginator对象.page(number)  
#panginator对象的具体页的对象
	参数: number为页码信息(从1开始)
	返回: number对应的页信息 
	说明: 提供页码不存在,异常(InvalidPage)

page方法的属性

属性说明
object_list当前页上所有数据对象的列表
number当前页的信号
paginator当前page对象相关的paginator对象
has_next()如有下一页返回True
has_previous()如有上一页返回True
has_other_pages()如有上一页或下一页(其它页)返回True
nex_page_number()返回下一页页码,没有异常(InvalidPage)
previous_page_number()返回上一页页码,没有异常(InvalidPage)
 类似资料: