1、创建pager.py文件,针对翻页进行函数书写

class PageInfo(object):
# current_page 当前页数
# all_count 所有行
# per_page 每页的行数
# show_page 控制只显示11个按钮
def __init__(self, current_page, all_count, per_page, base_url, show_page=5):
try:
self.current_page = int(current_page)
except Exception as e:
self.current_page = 1
self.per_page = per_page a, b = divmod(all_count, per_page) if b:
a = a + 1
self.all_pager = a
self.base_url = base_url
self.show_page = show_page
print(a, b,per_page)
def start(self):
return (self.current_page - 1) * self.per_page def end(self):
return self.current_page * self.per_page def pager(self):
page_list = [] # 如果总页数小于11
if self.all_pager < self.show_page:
begin = 1
stop = self.all_pager + 1
# 如果总页数大于11
else:
# 如果当前页小于等于5,一直保持1,11
if self.current_page <= 2:
begin = 1
stop = self.show_page + 1
else:
# 如果当前页大于所有页
if self.current_page + 2 > self.all_pager:
begin = self.all_pager - self.show_page + 1
stop = self.all_pager + 1
else:
begin = self.current_page - 2
stop = self.current_page + 2 + 1 if self.current_page > 1:
prve = "<li><a href='%s/?page=%s'>上一页 </a></li> " % (self.base_url,self.current_page - 1,)
else:
prve = "<li><a href='#'>上一页 </a> </li>"
page_list.append(prve)
fist = "<li><a href='%s/?page=1'>首页 </a></li> " % (self.base_url,)
page_list.append(fist)
for i in range(begin, stop):
if i == self.current_page:
temp = "<li class='active' ><a href='%s/?page=%s'> %s </a></li> " % (self.base_url, i, i)
else:
temp = "<li><a href='%s/?page=%s'> %s </a></li> " % (self.base_url, i, i)
page_list.append(temp)
end = "<li><a href='%s/?page=%s'>尾页 </a> </li>" % (self.base_url,self.all_pager,)
page_list.append(end) if self.current_page < self.all_pager:
nex = "<li><a href='%s/?page=%s'>下一页 </a> </li>" % (self.base_url,self.current_page + 1,)
else:
nex = "<li><a href='#'>下一页 </a></li>"
page_list.append(nex)
return ''.join(page_list)

2、创建函数,调用翻页函数

def userInfo(request):
all_count = models.userInfo.objects.all().count()
print(all_count)
page_info = PageInfo(request.GET.get('page'), all_count, 10, '/userInfo')
user_list = models.userInfo.objects.all()[page_info.start():page_info.end()] return render(request, 'User/userInfo.html', {'user_list': user_list, 'page_info': page_info})

3、前端html展示

{% extends 'layout.html' %}

{% block css %}
<style> </style>
{% endblock %} {% block table %}
<div style="margin: 10px 15px;">
<a class="btn btn-primary" href="/add_userInfo/">添加</a>
</div>
<table class="table table-condensed table-hover table-bordered">
<thead>
<tr>
<th>ID</th>
<th>用户名</th>
<th>姓名</th>
<th>性别</th>
<th>生日</th>
<th>邮箱</th>
<th>操作</th>
</tr>
</thead>
<tbody>
{% for row in user_list %}
<tr>
<td>{{ row.id }}</td>
<td>{{ row.user }}</td>
<td >{{ row.name }}</td>
<td >{{ row.sex }}</td>
<td >{{ row.birthday }}</td>
<td >{{ row.email }}</td>
<td>
<a href="/edit_userInfo/?tid={{ row.id }}">编辑</a>
<a href="/del_userInfo/?tid={{ row.id }}">删除</a>
</td>
</tr>
{% endfor %}
</tbody>
</table> <nav aria-label="Page navigation">
<ul class="pagination">
<li>
<a href="#" aria-label="Previous">
<span aria-hidden="true">«</span>
</a>
</li>
{{ page_info.pager|safe}}
<li>
<a href="#" aria-label="Next">
<span aria-hidden="true">»</span>
</a>
</li>
</ul>
</nav> {% endblock %} {% block js %}
<script src="/static/jquery.min.js"></script>
<script></script> {% endblock %}

4、页面展示

python自定义翻页配置的更多相关文章

  1. IOS开发之--UIScrollView pagingEnabled自定义翻页宽度

    用到UIScrollview的翻页效果时,有时需要显示一部分左右的内容,但是UIScrollView的PagingEnabled只能翻过整页,下面几个简单的设置即可实现 技术点: 1. 创建一个继承U ...

  2. SharePoint 2013 自定义翻页显示列表项

    项目需求:自定义开发一个能分页显示列表项的小部件,允许左右翻页,能根据用户权限来显示管理链接等. 效果如下: 技术要求:使用sharepoint rest API 来获取列表项,这样性能高,能够快速响 ...

  3. FineReport——JS二次开发(自定义翻页按钮)

    FR允许自定义工具栏上面的按钮,并提交JS方法: 对于翻页功能,大概有首页,下一页,上一页,最后一页,以及跳转页等功能. 不得不说的是,在HTML页面自定义的按钮如何获取到报表模板,通过FR提供的JS ...

  4. Activity切换动画(overridePendingTransition)-翻页效果

    Activity的切换动画指的是从一个activity跳转到另外一个activity时的动画.{它包括两个部分:一部分是第一个activity退出时的动画:另外一部分时第二个activity进入时的动 ...

  5. Atitit.pagging  翻页功能解决方案专题 与 目录大纲 v3 r44.docx

    Atitit.pagging  翻页功能解决方案专题 与 目录大纲 v3 r44.docx 1.1. 翻页的重要意义1 1.2. Dep废弃文档   paip.js翻页分页pageing组件.txt1 ...

  6. Web jquery表格组件 JQGrid 的使用 - 5.Pager翻页、搜索、格式化、自定义按钮

    系列索引 Web jquery表格组件 JQGrid 的使用 - 从入门到精通 开篇及索引 Web jquery表格组件 JQGrid 的使用 - 4.JQGrid参数.ColModel API.事件 ...

  7. python(5)字符串处理 (sub,replace,find,index,upper,strip,split,sub翻页

    一,sub和replace的用法 re.sub 函数进行以正则表达式为基础的替换工作 re.sub替换到目标字符串中的a,b或者c,并全部替换 另加上sub翻页操作: re.sub('start=\d ...

  8. 使用Python在自己博客上进行自动翻页

    先上一张代码及代码运行后的输出结果的图! 下面上代码: # coding=utf-8 import os import time from selenium import webdriver #打开火 ...

  9. python爬虫_入门_翻页

    写出来的爬虫,肯定不能只在一个页面爬,只要要爬几个页面,甚至一个网站,这时候就需要用到翻页了 其实翻页很简单,还是这个页面http://bbs.fengniao.com/forum/10384633. ...

随机推荐

  1. C程序设计学习笔记(完结)

    时间:2015-4-16 09:17 不求甚解,每有会意,欣然忘食.学习的过程是痛苦的 第1章    程序设计和C语言     第2章    算法--程序的灵魂   -算法的五个特点          ...

  2. 并发编程之:JMM

    并发编程之:JMM 大家好,我是小黑,一个在互联网苟且偷生的农民工. 上一期给大家分享了关于Java中线程相关的一些基础知识.在关于线程终止的例子中,第一个方法讲到要想终止一个线程,可以使用标志位的方 ...

  3. FXGL游戏开发-JavaFX游戏框架

    FXGL 是一个JavaFX 游戏开发的框架,这个框架有两个版本,其中基于JDK1.8的版本已经不再维护,目前最新的是基于JDK11的版本,也就是Openjfx的版本. FXGL 提供了各种游戏范例: ...

  4. Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient

    1.今天在进行hive测试的时候,发现hive一直进不去,并且报了这个错误. Unable to instantiate org.apache.hadoop.hive.ql.metadata.Sess ...

  5. Linux与Windows文件同步

    Linux与Windows文件同步 本次采用的同步方式是rsync,Rsync是一款免费且强大的同步软件,可以镜像保存整个目录树和文件系统,同时保持原来文件的权限.时间.软硬链接.第一次同步时会复制全 ...

  6. 关于Cloudfront能否接入NLB的讨论

    之前讨论过四层应用 是无法通过七层负载负载均衡器转发流量的,因为ALB监听的是Http/s协议,TCP/UDP的请求到了ALB无法识别,ALB在第七层做判断,数据包只有四层,会无法判断转发的目标.相反 ...

  7. iNeuOS工业互联平台,增加OPC UA驱动,同步和订阅方式读取数据

    目       录 1.      概述... 1 2.      平台演示... 2 3.      OPC UA应用效果... 2 1.   概述 最近的项目,用户需要使用OPC UA读取数据,通 ...

  8. 为什么Class实例可以不是全局唯一的——自定义类加载器

    为什么Class实例可以不是全局唯一的 通过定义两个类加载器加载同一字节码文件来证明Class实例为什么不是全局唯一的 1.将一个名为Demo(没有后缀)的字节码文件放在D盘根目录 2.定义两个类加载 ...

  9. go语言学习代码

    1.day01 package main //声明文件所在的包,每个go文件必须有归属包 import "fmt" //引入程序中需要用的包,为了使用包下的函数 比如函数:Prin ...

  10. 【曹工杂谈】说说Maven框架和插件的契约

    说说Maven框架和插件的契约 前言 Maven框架就像现在公司内的各种平台方,规定一些契约,然后想办法拉动业务方,一起在这个平台上去做生态共建.Maven也是这样,其实它就是一个插件执行的框架,Ma ...