Django项目实现分页返回,结合forloop实现编号递增
需要导入Paginator包
from django.core.paginator import Paginator
实现步骤:
- 需要设置每页大小
- 需要获取每页的页码,
- 查询对应的数据,提供给Paginator,转化为Page实例
- 自增编号结合forloop.counter,实现序号递增;但第二页开始,序号还是从1开始,没有从11~20,在返回的时候,设置开始的序号,并在html页面结合add开始,实现每页的序号递增
- 同步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开始,序号没有连续
最终实现结果:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架