django_Paginator分页器的基础用法

from django.core.paginator import Paginator

def pag_test(request):
    book_obj_list = models.Book.objects.all()

    p = Paginator(book_obj_list, 5)  # 第二个参数 : 表示每一页显示5条数据
    print(p.count)  # 100 获取总条数
    print(p.page_range)  # range(1, 21) # 分页的数目(一共多少页)
    print(p.num_pages)  # 20 总共多少页

    page_obj = p.page(1)
    print(page_obj)  # <Page 1 of 20> 返回一个Page 对象,包含book对象
    print(page_obj.has_next())  # 是否有下一页 True
    print(page_obj.has_previous())  # 是否有上一页 False
    print(page_obj.next_page_number())  # 获取下一页的页码,如果没有下一页则报错 2
    # print(page_obj.previous_page_number())  # 获取上一页的页码,如果没有上一页则报错 That page number is less than 1

    return HttpResponse('test ok')

也可以在settings中添加

# 自定义参数
EACH_PAGE_BLOGS_NUMBER = 5

在使用之前定义settings 方便后期优化更改

from django.core.paginator import Paginator
from django.conf import settings
paginator = Paginator(blog_obj_list, settings.EACH_PAGE_BLOGS_NUMBER)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值