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分割和拼接字符串
Nov 01 Python
Collatz 序列、逗号代码、字符图网格实例
Jun 22 Python
Python实现破解猜数游戏算法示例
Sep 25 Python
每天迁移MySQL历史数据到历史库Python脚本
Apr 13 Python
Python数据结构之哈夫曼树定义与使用方法示例
Apr 22 Python
python 读取txt中每行数据,并且保存到excel中的实例
Apr 29 Python
Python基于递归算法求最小公倍数和最大公约数示例
Jul 27 Python
Python多线程应用于自动化测试操作示例
Dec 06 Python
Python File(文件) 方法整理
Feb 18 Python
在Python运行时动态查看进程内部信息的方法
Feb 22 Python
将tensorflow.Variable中的某些元素取出组成一个新的矩阵示例
Jan 04 Python
利用Python实现自动扫雷小脚本
Dec 17 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
浅谈php serialize()与unserialize()的用法
2013/06/05 PHP
php自定义session示例分享
2014/04/22 PHP
PHP中使用file_get_contents抓取网页中文乱码问题解决方法
2014/12/17 PHP
四种php中webservice实现的简单架构方法及实例
2015/02/03 PHP
PHP中substr_count()函数获取子字符串出现次数的方法
2016/01/07 PHP
自制PHP框架之设计模式
2017/05/07 PHP
TP3.2批量上传文件或图片 同名冲突问题的解决方法
2017/08/01 PHP
JavaScript Base64编码和解码,实现URL参数传递。
2006/09/18 Javascript
JS getStyle获取最终样式函数代码
2010/04/01 Javascript
javascript是怎么继承的介绍
2012/01/05 Javascript
如何获取JQUERY AJAX返回的JSON结果集实现代码
2012/12/10 Javascript
Jquery解析json数据详解
2013/12/26 Javascript
vue 动态改变静态图片以及请求网络图片的实现方法
2018/02/07 Javascript
解决VUE中document.body.scrollTop为0的问题
2018/09/15 Javascript
js实现小星星游戏
2020/03/23 Javascript
Jquery ajax书写方法代码实例解析
2020/06/12 jQuery
python控制台英汉汉英电子词典
2020/04/23 Python
Python中集合类型(set)学习小结
2015/01/28 Python
python对象及面向对象技术详解
2016/07/19 Python
Python序列化基础知识(json/pickle)
2017/10/19 Python
Python动刷新抢12306火车票的代码(附源码)
2018/01/24 Python
Python格式化日期时间操作示例
2018/06/28 Python
Python中字符串String的基本内置函数与过滤字符模块函数的基本用法
2019/05/27 Python
python @classmethod 的使用场合详解
2019/08/23 Python
python多线程实现同时执行两个while循环的操作
2020/05/02 Python
Python 执行矩阵与线性代数运算
2020/08/01 Python
python 利用openpyxl读取Excel表格中指定的行或列教程
2021/02/06 Python
Oakley西班牙官方商店:太阳眼镜和男女运动服
2019/04/26 全球购物
匡威爱尔兰官网:Converse爱尔兰
2019/06/09 全球购物
YSL圣罗兰美妆俄罗斯官网:Yves Saint Lauret RU
2020/09/23 全球购物
工商管理实习自我鉴定
2013/09/28 职场文书
室内设计自我鉴定
2013/10/15 职场文书
企业文化标语大全
2014/06/10 职场文书
毕业生工作求职信
2014/06/30 职场文书
关于法制教育的宣传语
2015/07/13 职场文书
2015年小学生国庆节演讲稿
2015/07/30 职场文书