python web框架中实现原生分页


Posted in Python onSeptember 08, 2019

本文实例为大家分享了python web框架实现原生分页的具体代码,供大家参考,具体内容如下

原生分页器 示例   

#!/usr/bin/env python
# -*- coding:utf-8 -*-
 
 
class Pagination:
 
 def __init__(self, p, all_count, pre=10, max_show=11):
 '''
 :param p: 当前页码
 :param all_count: 数据总条数
 :param pre: 每页数据量
 :param max_show: 最多页码数
 '''
 try:
 self.p = int(p) # 传进来的页码
 if self.p <= 0:
 self.p = 1
 except Exception as e:
 self.p = 1
 
 # 总量
 # all_count = all_count
 # pre = per # 每页数据条数
 total_num, more = divmod(all_count, pre)
 if more:
 total_num += 1 # total_num总数据页数
 
 # 显示页码数
 max_show = max_show
 if total_num <= max_show: # 总数据量很小
 page_start = 1
 page_end = total_num
 else:
 if self.p - max_show // 2 <= 0: # 防止左边出现0页
 page_start = 1
 page_end = max_show
 
 elif self.p + max_show // 2 >= total_num + 1: # 防止右边出现超出
 page_end = total_num
 page_start = page_end - max_show
 else:
 page_start = self.p - max_show // 2
 page_end = self.p + max_show // 2
 
 # 数据的起始结束
 self.start = (self.p - 1) * pre
 self.end = self.p * pre
 
 # 页码
 self.page_start = page_start
 self.page_end = page_end
 self.total_num = total_num
 
 @property
 def page_html(self):
 li_list = []
 for i in range(self.page_start, self.page_end + 1):
 if i == self.p:
 li_list.append('<li class="active"><a href="?p={}" >{}</a></li>'.format(i, i))
 else:
 li_list.append('<li><a href="?p={}" >{}</a></li>'.format(i, i))
 
 # 添加页首 页尾
 
 li_list.insert(0,
  '<li><a href="?p={}" aria-label="Previous"><span aria-hidden="true">«</span></a></li>'.format(
  self.p - 1))
 li_list.append(
 '<li><a href="?p={}" aria-label="Next"><span aria-hidden="true">»</span> </a></li>'.format(self.p + 1))
 
 if self.p == 1:
 li_list[0] = '<li class="disabled"><span aria-hidden="true">«</span></li>'
 elif self.p == self.total_num:
 li_list[-1] = '<li class="disabled"><span aria-hidden="true">»</span></li>'
 
 pagehtml = ''.join(li_list)
 return pagehtml

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python编码最佳实践之总结
Feb 14 Python
python 回调函数和回调方法的实现分析
Mar 23 Python
简单谈谈Python中的元祖(Tuple)和字典(Dict)
Apr 21 Python
Python中模块pymysql查询结果后如何获取字段列表
Jun 05 Python
Python实现针对给定字符串寻找最长非重复子串的方法
Apr 21 Python
python十进制和二进制的转换方法(含浮点数)
Jul 07 Python
win7+Python3.5下scrapy的安装方法
Jul 31 Python
Python编程在flask中模拟进行Restful的CRUD操作
Dec 28 Python
python移位运算的实现
Jul 15 Python
使用Python完成15位18位身份证的互转功能
Nov 06 Python
python 三种方法提取pdf中的图片
Feb 07 Python
matplotlib画混淆矩阵与正确率曲线的实例代码
Jun 01 Python
python中open函数的基本用法示例
Sep 07 #Python
Python3显示当前时间、计算时间差及时间加减法示例代码
Sep 07 #Python
利用python计算时间差(返回天数)
Sep 07 #Python
Django配置MySQL数据库的完整步骤
Sep 07 #Python
Django项目创建到启动详解(最全最详细)
Sep 07 #Python
Python笔试面试题小结
Sep 07 #Python
使用Python代码实现Linux中的ls遍历目录命令的实例代码
Sep 07 #Python
You might like
一个简单计数器的源代码
2006/10/09 PHP
sphinx增量索引的一个问题
2011/06/14 PHP
php中判断字符串是否全是中文或含有中文的实现代码
2011/09/16 PHP
PHP结合jQuery.autocomplete插件实现输入自动完成提示的功能
2015/04/27 PHP
PHP经典面试题之设计模式(经常遇到)
2015/10/15 PHP
PHP 使用二进制保存用户状态的实例
2018/01/29 PHP
PHP中ltrim()函数的用法与实例讲解
2019/03/28 PHP
JS类中定义原型方法的两种实现的区别
2007/03/08 Javascript
比较全的JS checkbox全选、取消全选、删除功能代码
2008/12/19 Javascript
js模拟类继承小例子
2010/07/17 Javascript
Javascript调用C#代码
2011/01/17 Javascript
浅析JavaScriptSerializer类的序列化与反序列化
2016/11/22 Javascript
JavaScript实现邮箱地址自动匹配功能代码
2016/11/28 Javascript
node.js + socket.io 实现点对点随机匹配聊天
2017/06/30 Javascript
vue中各组件之间传递数据的方法示例
2017/07/27 Javascript
将 vue 生成的 js 上传到七牛的实例
2017/07/28 Javascript
浅谈Vue.js 关于页面加载完成后执行一个方法的问题
2019/04/01 Javascript
vue+elementUI实现表单和图片上传及验证功能示例
2019/05/14 Javascript
js/jQuery实现全选效果
2019/06/17 jQuery
微信小程序模板消息推送的两种实现方式
2019/08/27 Javascript
python中的turtle库函数简单使用教程
2018/07/23 Python
使用urllib库的urlretrieve()方法下载网络文件到本地的方法
2018/12/19 Python
解决django同步数据库的时候app models表没有成功创建的问题
2019/08/09 Python
python3调用windows dos命令的例子
2019/08/14 Python
python实现npy格式文件转换为txt文件操作
2020/07/01 Python
python设置表格边框的具体方法
2020/07/17 Python
欧姆龙医疗欧洲有限公司:Omron Healthcare Europe B.V
2020/06/13 全球购物
韩国乐天网上商城:Lotte iMall
2021/02/03 全球购物
生产车间主任的个人自我鉴定
2013/10/25 职场文书
教师党员思想汇报
2014/01/06 职场文书
理工学院学生自我鉴定
2014/02/23 职场文书
学习焦裕禄同志为人民服务思想汇报
2014/09/10 职场文书
2014年收银工作总结
2014/11/13 职场文书
2014年审计人员工作总结
2014/12/19 职场文书
垂直极限观后感
2015/06/08 职场文书
七年级生物教学反思
2016/02/20 职场文书