django分页器

django分页的使用方法

from django.core.paginator import Paginator,EmptyPage,PageNotAnInteger
from django.shortcuts import render,HttpResponse
from app01.models import Book

def index(request):
    book_list = Book.objects.all()
    paginator_obj = Paginator(book_list,10)   #实例化对象

    print(paginator_obj.count)   # 数据的总数
    print(paginator_obj.num_pages)    # 要分的页数
    print(paginator_obj.page_range)   # 页码的范围,列表

    page = paginator_obj.page(1)  # 遍历第一页的所有数据
    for i in page:
        print(i)
    print(page.object_list)   # 第一页的所有数据

    page2 = paginator_obj.page(2)

    print( page2.has_next())   #是否有下一页
    print(page2.has_previous())  # 是否有上一页
    print(page2.next_page_number()) # 下一页的页码
    print(page2.previous_page_number()) # 上一页的页码
    
    # EmptyPage,PageNotAnInteger  这两个是异常处理
    # Emptypage 是页数不够抛出的异常
    # PageNotAnInteger  是页码输入的不是数字抛出异常

你可能感兴趣的:(django分页器)