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. Linux c高级

    目录 一.Linux 1.1.嵌入式 1.2.什么是Linux 1.3.Linux发行版 1.4.Linux体系结构 1.5.虚拟4G内存 1.6.shell 命令 1.7.软件包的管理 1.8.图形 ...

  2. WPF路由事件

    ​    这节讲一下WPF中的路由事件(Routed Event). [什么是事件] 在了解路由事件前,我们应先来了解一下什么是事件(Event). 在Windows系统中,像鼠标单击,双击,移动这样 ...

  3. 备忘录——C#获取微信小程序的云数据库中数据

    目录 0. 背景说明 0.2 获取AccessToken 0.3 数据库查询 0.4 文件下载 2. 简单的封装 3. 简单测试 4. 参考文档 shanzm-2021年8月17日 17:14:24 ...

  4. mybaits源码分析--缓存模块(六)

    一.缓存模块 MyBatis作为一个强大的持久层框架,缓存是其必不可少的功能之一,Mybatis中的缓存分为一级缓存和二级缓存.但本质上是一样的,都是使用Cache接口实现的.缓存位于 org.apa ...

  5. 【开发工具】Postman保姆级入门教程

    目录 一.简单使用 1. 创建命名空间 2. 创建新集合 3. 按模块整理接口 二.使用环境变量 1. 创建环境与环境变量 2. 使用环境变量 3. 登录后自动更新环境变量 转载请注明出处 一.简单使 ...

  6. AWS EC2 实例 SSH 无法登录故障

    文章链接 故障表现 在使用 jumperver 登录 AWS ec2 实例的时候发现 ssh 配合秘钥登录的时候无法登录, 具体报错如下: ssh -i /path/xx.pem user@10.0. ...

  7. 灵魂画手:漫画图解 SSH

    OpenSSL 本身是一个软件库,这个软件被广泛的应用在系统服务器当中,他的主要功能是在网络通信的过程中,保证数据的一致性以及数据传输过程中的安全性.软件本身是由C语言编写,这使得他具备了跨平台的特性 ...

  8. Git - Mac 电脑使用 brew 更新 Git

    安装 Homebrew Homebrew 是一个软件包管理器.它的作用就是将软件包安装到自己的目录中,然后将其文件符号链接到 /usr/local.更多信息,请自行进入官网查看 https://bre ...

  9. Docker - 解决 docker push 上传镜像报:denied: requested access to the resource is denied 的问题

    问题背景 在 Linux 已登录自己的 Docker hub 账号 上传本地镜像但是报错了 docker push tomcat 解决方案 docker tag tomcat poloyy/tomca ...

  10. java多线程 synchronized 与lock锁 实现线程安全

    如果有多个线程在同时运行,而这些线程可能会同时运行这段代码.程序每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的. 通过卖火车票的例子 火车站要卖票,我们模 ...