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 2023-02-06 17:44  刚刚好1  阅读(116)  评论(0编辑  收藏  举报

导航