Django ORM分页器使用步骤详解

一. django自带的分页

此处以读取 UserInfo 表为例:
1.导入模块
from django.core.paginator import Paginator
2.读取信息
userlist = models.UserInfo.objects.all()
3.生成paginator对象
paginator = Paginator(userlist, 10) # 对象,每页多少条数据

说明:paginator的属性与方法

  • 属性
    object_list:返回所有页对象的的列表
    per_page:每页显示条目数量
    count:数据总个数
    num_pages:总页数
    page_range:总页数的索引范围,如: (1,10),(1,200)
  • 方法
    page(第几页):page对象
4.生成page对象
page_1 = paginator.page(1)  # 第一页的信息

说明:page的属性和方法

  • 属性
    object_list:返回当前页对象的的列表
    number:返回当前页是第几页,从1开始
    paginator:当前页对应的paginator对象
  • 方法
    has_next():是否有下一页,有就返回Ture
    next_page_number():返回值下一页页码
    has_previous():是否有上一页,有就返回Ture
    previous_page_number():返回值上一页页码

二. 自定义分页

实现原理:
        我们用 ORM 获得表里面信息的时候,返回的是一个列表对象,我们可以使用列表的切片特性来对内容进行选取操作从而达到分页的效果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值