Django项目实现分页返回,结合forloop实现编号递增

需要导入Paginator包

from django.core.paginator import Paginator

实现步骤:

  1. 需要设置每页大小
  2. 需要获取每页的页码,
  3. 查询对应的数据,提供给Paginator,转化为Page实例
  4. 自增编号结合forloop.counter,实现序号递增;但第二页开始,序号还是从1开始,没有从11~20,在返回的时候,设置开始的序号,并在html页面结合add开始,实现每页的序号递增
  5. 同步html页面设置

具体实现:

views.py 设置查询对应的数据,并通过Paginator,转化为Page对象返回的是否有上下页、上下页、页码等,传递给前端html页面使用

解决编号从1开始,需要传入当前的页面,和每页的大小,得出开始编号值

如第二页,每页展示10条,传入页码2, start = (2-1)*10 = 10

html页面的forloop.counter|add:start,forloop.counter获取到的编号1+10 =11、12、13,就可以实现序号连续递增

Views层返回的数据,循环遍历显示,编号使用forloop.counter;

如果不加add:start,则每一页都从1开始,序号没有连续

 

最终实现结果:

 

 

posted on   刚刚好1  阅读(124)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示