在展示数据的时候,分页是一个不可或缺的的功能,本篇在Django中实现分页并封装成类,方便以后使用。
通过这篇文章,你能了解到:
- 自定义分页的流程
- 可重用的分页代码
流程
整个流程是从当前页码(page)开始,页码决定了数据的开头结尾,所以有了它我们可以将数据分页展示;
接下来设计页码,对于页码来说,想得到它的开头结尾,这样页码的数量将是固定的(max_show)
将页码在后端生成html
将整个流程定义到类中
实例化将封装当前页码、页码起始、页码结尾、数据起始、数据结尾等。
调用方法get_html将生成的页码html返回给前端。
- 在前面的基础中加上了对搜索的支持
- 对于查询参数,我们需要将它们保存到链接中,这样才能去下一页。
实现代码
1 | from django.utils.safestring import mark_safe |
- 在调用中,只需要使用数据的开始位置,结束位置以及下面分页。
1 | # views.py |