通过 Django Pagination 实现简单分页功能
2
查看分页后的总页数:
>>> p.num_pages
2
查看某一页是否还有上一页,以及查询该页上一页的页码:
# 查询第二页是否还有上一页 >>> page2.has_previous() True # 查询第二页上一页的页码 >>> page2.previous_page_number() 1
查看某一页是否还有下一页,以及查询该页下一页的页码:
# 查询第二页是否还有下一页 >>> page2.has_next() False # 查询第二页下一页的页码 >>> page2.next_page_number() Traceback (most recent call last): ... EmptyPage: That page contains no results
更多方法和属性请参阅 Django Pagination 的官方文档。
用 Paginator 给文章列表分页
使用上面的一些方法,我们可以实现一个类似于 Django 官方博客一样的简单分页效果,效果如下。
当然这只是一个简单示例,分页导航处的视觉效果并不是很好看,你可以自行为其添加 CSS 样式使其看上去更加美观。
进一步拓展
使用 Django 内置的 Pagination 只能实现上面的简单分页效果,但通常更加高级的分页效果应该像下图这样:
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!