python自定义翻页配置
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自定义翻页配置的更多相关文章
- IOS开发之--UIScrollView pagingEnabled自定义翻页宽度
		用到UIScrollview的翻页效果时,有时需要显示一部分左右的内容,但是UIScrollView的PagingEnabled只能翻过整页,下面几个简单的设置即可实现 技术点: 1. 创建一个继承U ... 
- SharePoint 2013 自定义翻页显示列表项
		项目需求:自定义开发一个能分页显示列表项的小部件,允许左右翻页,能根据用户权限来显示管理链接等. 效果如下: 技术要求:使用sharepoint rest API 来获取列表项,这样性能高,能够快速响 ... 
- FineReport——JS二次开发(自定义翻页按钮)
		FR允许自定义工具栏上面的按钮,并提交JS方法: 对于翻页功能,大概有首页,下一页,上一页,最后一页,以及跳转页等功能. 不得不说的是,在HTML页面自定义的按钮如何获取到报表模板,通过FR提供的JS ... 
- Activity切换动画(overridePendingTransition)-翻页效果
		Activity的切换动画指的是从一个activity跳转到另外一个activity时的动画.{它包括两个部分:一部分是第一个activity退出时的动画:另外一部分时第二个activity进入时的动 ... 
- Atitit.pagging  翻页功能解决方案专题 与 目录大纲 v3 r44.docx
		Atitit.pagging 翻页功能解决方案专题 与 目录大纲 v3 r44.docx 1.1. 翻页的重要意义1 1.2. Dep废弃文档 paip.js翻页分页pageing组件.txt1 ... 
- Web jquery表格组件 JQGrid 的使用 - 5.Pager翻页、搜索、格式化、自定义按钮
		系列索引 Web jquery表格组件 JQGrid 的使用 - 从入门到精通 开篇及索引 Web jquery表格组件 JQGrid 的使用 - 4.JQGrid参数.ColModel API.事件 ... 
- python(5)字符串处理 (sub,replace,find,index,upper,strip,split,sub翻页
		一,sub和replace的用法 re.sub 函数进行以正则表达式为基础的替换工作 re.sub替换到目标字符串中的a,b或者c,并全部替换 另加上sub翻页操作: re.sub('start=\d ... 
- 使用Python在自己博客上进行自动翻页
		先上一张代码及代码运行后的输出结果的图! 下面上代码: # coding=utf-8 import os import time from selenium import webdriver #打开火 ... 
- python爬虫_入门_翻页
		写出来的爬虫,肯定不能只在一个页面爬,只要要爬几个页面,甚至一个网站,这时候就需要用到翻页了 其实翻页很简单,还是这个页面http://bbs.fengniao.com/forum/10384633. ... 
随机推荐
- LeetCode入门指南 之 二叉树
			二叉树的遍历 递归: void traverse (TreeNode root) { if (root == null) { return null; } //前序遍历位置 traverse(root ... 
- reids在linux上的安装《四》
			linux 安装redis 完整步骤 红色字体在我的Centos上没有设置,因为我设置了密码 安装: 1.获取redis资源 wget http://download.redis.io/release ... 
- excel快捷键如下:
			ALT+ 空格键,然后按下 X ALT+ 空格键,然后按下 R 首先打开表格,在A1对角用鼠标左键单击,界面会全部选中,然后调整字体大小框里的数字,回车,表格就变大了. 同时按Alt和E,再按L ... 
- 用C++实现的增强Euler筛法程序
			运行示例 PS H:\Read\num\x64\Release> .\eulerSievePro EulerSievePro: a method to find out all primes b ... 
- MySQL-Cluster 初识
			最近,对mysql-cluster进行初步了解,发现和oracle提供的RAC有一定的相似之处,但区别又很大,下面主要是mysql-cluster的搭建,至于对其的深入了解,留着以后工作需 ... 
- Spring笔记(4)
			集成Web环境 1.步骤 导入Spring-web坐标 <!-- spring-web--> <dependency> <groupId>org.springfra ... 
- FPGA nios通过驱动LCD12864实现菜单界面和uart串口通信
			因为csdn无法插入视频,无法展示我这个实现的效果,这里我截了一些图,应该基本上也能明白了: 基本功能就是如图片所示,里面采用了菜单结构(这里编程需要一定得c语言编程技巧与数据结构知识),gpa是什么 ... 
- CodeReview杂谈
			豆皮粉儿们,大家好,又见面啦,今天由字节跳动的"躬冯"带来一个 code review 的故事. 作者:躬冯 2020年元旦假期到来的时候,孙总攒了个局,又把当年一起创造过屎山的咱 ... 
- 手写 lodash/get、lodash/set 方法
			动机:平时写js代码时经常遇到要使用 lodash 中 _.get 和 _.set 的情况,每次使用都要引用 lodash,总感觉很烦,能不能自己实现一个简单的方法来实现一样的功能呢? get 方法实 ... 
- 性能测试工具JMeter 基础(四)—— 录制脚本
			对于JMeter中HTTP请求除了手动添加以为还可以进行脚本录制,有两个方法: 使用badboy录制,录制完成后,将录制的文件导入JMeter中 使用JMeter自带的录制原件进行录制(HTTP(S) ... 
