天天看点

django中orm分页功能(内置分页)

在templates目录下面创建index页面

通过浏览器访问可以看到结果都显示到了index的页面上

django中orm分页功能(内置分页)

通过浏览器访问,发现所有的用户都显示到了页面上,但是有一个问题,如果数据库中有上千,百万个数据,这一个页面要全部显示出来是很卡,也很不好。那么如何解决这些问题那。

在index函数里面写入上面代码后,重新浏览器访问index.html,让数据库生成上面的数据。

完成上面的代码,浏览器访问http://127.0.0.1:8000/index.html/?page=1传入参数page,就能访问到10条数据

django中orm分页功能(内置分页)

修改index.html页面的代码

如果page传递过来的是一个负数eg:-1,虽然不是字符串,但是也要报错,这个时候也是可以抓捕异常的

django中orm分页功能(内置分页)
django中orm分页功能(内置分页)

但是django不适合用来加页码,因为他会全部都显示出来

通过http://127.0.0.1:8000/custom.html/?page=2 输入不同的数字显示页码,后台通过转换

初始化的东西,创建一个类,全部放在类中操作

django中orm分页功能(内置分页)
django中orm分页功能(内置分页)
django中orm分页功能(内置分页)
django中orm分页功能(内置分页)
django中orm分页功能(内置分页)
django中orm分页功能(内置分页)
django中orm分页功能(内置分页)
django中orm分页功能(内置分页)
django中orm分页功能(内置分页)

但是这个是有bug的,如果前面没有页数了,会显示负数

django中orm分页功能(内置分页)

通过占位符,来动态的生成url。首先给一个参数位置

django中orm分页功能(内置分页)

把a标签中的href修改成占位符

django中orm分页功能(内置分页)

传递参数的时候传入url

django中orm分页功能(内置分页)

首先导入bootstrip到项目中

<a href="https://v3.bootcss.com/components/#pagination">https://v3.bootcss.com/components/#pagination</a>

可以看到文档介绍的都是ul,li格式的分页,而我们开始使用的是a标签,所以下面我们要把我们的a标签改成li形式的

django中orm分页功能(内置分页)

全部改成li标签后,我们在页面上引用

django中orm分页功能(内置分页)

本文转自 kesungang 51CTO博客,原文链接:http://blog.51cto.com/sgk2011/2064271,如需转载请自行联系原作者