(十一)Django实现分页功能---paginator模块

Django自带分页模块

分页的逻辑有很多种,按照前后端分页,分为:

  • 前端分页
    将所有数据一次性返回给前端页面,再通过js进行分页,对数据库负担 比较大。
  • 后端分页
    在数据库查询的时候,就查询出指定页的数据,不多查。

Article.objects.all()[:5]

Queryset有惰性特质,在不涉及到:
1、截取
2、排序
3、循环
的情况下,不会遍历执行。

基于分页,django开发了一个独特的插件 paginator专门负责分页。
基本的分页只有两步:
1、创建分页器
2、获取具体页的数据

Paginator(‘要进行分页的结果’,‘每页显示的数据量’,‘少于多少条数据会自动合并到前一页’)
在这里插入图片描述
效果:
在这里插入图片描述
在这里插入图片描述

解决第一页页需要页码的问题
视图函数给定默认值,为1,第一页就不需要输入1了
在这里插入图片描述
路由两条
在这里插入图片描述

页码太多问题
通常通过前端js来解决,但是后端也可以解决
在页面上只返回当前页面的前两页和后两页。
在这里插入图片描述

分页器的一些常用方法
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

孜孜孜孜不倦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值