django分页的两种方式
第一种自定义分页:
def pageDemo(request):
'''
自定义分页]
:param request:
:return:
'''
currentpage=request.GET.get('pageIndex')
pageSize=2
if not currentpage or int(currentpage)<1:
currentpage=1
current_page=int(currentpage)
start=(current_page-1)*pageSize
end=current_page*pageSize
data=userInfo.objects.all()[start:end]
if current_page*pageSize>userInfo.objects.all().count():
nextpage=current_page
else:
nextpage=current_page+1
if current_page<=1:
previous_page=1
else:
previous_page=current_page-1
data={
'data':data,
'nextPage':nextpage,
'prevpage': previous_page
}
return render(request, 'app02/Paginator.html', data)
html:
<div>
<a href="/app02/pagination1/?pageIndex={{nextPage}}">下一页</a>
<a href="/app02/pagination1/?pageIndex={{prevpage}}">上一页</a>
</div>
第二种分页:使用分页器
def pageDemoWithpaginator(request): '''
使用django的分页器分页
:param request:
:return:
'''
#查询数据
userdata=userInfo.objects.all()
#第二步:生成分页实例
pageinstance=Paginator(userdata,2)
#获取当前页面页码
currentPage=request.GET.get('pageIndex',1)
#获取指定页码的数据
pagedata=pageinstance.page(currentPage)
#将数据返回到页面
return render(request, 'app02/Paginator.html', {'data':pagedata}) html:
<div id="pagination">
<ul id="pagination-flickr">
{% if data.has_previous %}
<li ><a href="/app02/pagination/?pageIndex={{ data.previous_page_number }}">«上一页</a></li>
{% else %}
<li >«上一页</li>
{% endif %}
<li >{{ data.number }}/{{ data.paginator.num_pages }}</li>
{% if data.has_next %}
<li ><a href="/app02/pagination/?pageIndex={{ data.next_page_number }}">下一页 »</a></li>
{% else %}
<li>下一页 »</li>
{% endif %}
</ul>
</div>
django分页的两种方式的更多相关文章
- springmvc+jpa实现分页的两种方式
1.工具类 public final class QueryTool { public static PageRequest buildPageRequest(int pageNumber, int ...
- yii2-搜索带分页,分页的两种方式
1.文章表关联 <?php //...other code //关联 public function getCate(){ return $this->hasOne(ArticleCate ...
- ibatis分页的两种方式
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 3 ...
- oracle 分页的两种方式
实例:查询5-8名学生的姓名与成绩 --oracle的分页1 between 方式(分三次查询,第一次只作排序,第二次给表加上rownum序列,第三次为查询结果) select s.scorenumb ...
- mysql中用limit 进行分页有两种方式
代码示例:语句1: select * from student limit 9,4 语句2: slect * from student limit 4 offset 9 // 语句1和2均返回表stu ...
- 获取 Django版本号的两种方式
one k@ubuntu:~$ python Python ( , ::) [GCC ] on linux2 Type "help", "copyright", ...
- vue+ springboot 分页(两种方式:sql分页 & PageHelper 分页)
方法一:sql分页 思路:使用数据库进行分页 前端使用element-ui的分页组件,往后台传第几页的起始行offest 以及每页多少行pageSize,后台根据起始行数和每页的行数可以算出该页的 ...
- bootstrap table分页(前后端两种方式实现)
bootstrap table分页的两种方式: 前端分页:一次性从数据库查询所有的数据,在前端进行分页(数据量小的时候或者逻辑处理不复杂的话可以使用前端分页) 服务器分页:每次只查询当前页面加载所需要 ...
- Django学习——ajax发送其他请求、上传文件(ajax和form两种方式)、ajax上传json格式、 Django内置序列化(了解)、分页器的使用
1 ajax发送其他请求 1 写在form表单 submit和button会触发提交 <form action=""> </form> 注释 2 使用inp ...
随机推荐
- “全栈2019”Java第九十九章:局部内部类与继承详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- [USACO17FEB]Why Did the Cow Cross the Road III P(CDQ分治)
题意 两列$n$的排列,相同的数连边,如果一对数有交叉且差的绝对值$>k$,则$++ans$,求$ans$ 题解 可以把每一个数字看成一个三元组$(x,y,z)$,其中$x$表示在第一列的位置, ...
- 使用X-Pack插件来进行权限控制
1.为elasticsearch安装X-Pack插件.进入 elasticsearch根目录,执行: bin/elasticsearch-plugin install x-pack杀掉进程,重启es, ...
- python 爬虫入门之爬小说
##第一步 导包from bs4 import BeautifulSoupimport requestsimport sys ##准备class downloder(object): def __in ...
- dbporxy-mysql 协议流转图
dbproxy 支持 in 查询, 当in 中的字段 属于不同的分表时, QPS约为 5000左右, 如果为 等值查询, qps的30000左右 主要原因是 对于in操作,会产生多个不同分表的sql ...
- tomcat运行springboot项目war包
以最简单的spring boot demo项目来演示如何发布项目war包到tomcat,并成功运行(有很多小伙伴会出现404错误) 一.准备一个最简单的demo项目 在IDEA中新建一个项目,一直ne ...
- QuantLib 金融计算——数学工具之优化器
目录 QuantLib 金融计算--数学工具之优化器 概述 Optimizer Constraint OptimizationMethod EndCriteria 示例 Rosenbrock 问题 校 ...
- CSS02--四种样式、背景、文本、链接状态、表格样式
接上面的“CSS01”,我们接着来说一下样式.很多人不知道的是一个HTML元素有四种样式,分别是浏览器默认样式.外部样式.内部样式.内联样式,而它们的优先级是越来越高的,后面的样式会覆盖前面的样式.多 ...
- 自定义ASP.NET Core日志中间件
这个日志框架使用的是ASP.NET Core的NLog,用来记录每次请求信息和返回信息. 1.首先创建一个Web应用项目,我选择的是MVC模板: 2.使用NuGet添加Microsoft.Extens ...
- [转] spark-submit 提交任务及参数说明
[From] https://www.cnblogs.com/weiweifeng/p/8073553.html#undefined spark-submit 可以提交任务到 spark 集群执行,也 ...