classPagination(object):def __init__(self, current_page, all_count, per_page_num=10, pager_count=11):"""封装分页相关数据

:param current_page: 当前页

:param all_count: 数据库中的数据总条数

:param per_page_num: 每页显示的数据条数

:param pager_count: 最多显示的页码个数"""

try:

current_page=int(current_page)exceptException as e:

current_page= 1

if current_page < 1:

current_page= 1self.current_page=current_page

self.all_count=all_count

self.per_page_num=per_page_num#总页码

all_pager, tmp =divmod(all_count, per_page_num)iftmp:

all_pager+= 1self.all_pager=all_pager

self.pager_count=pager_count

self.pager_count_half= int((pager_count - 1) / 2)

@propertydefstart(self):return (self.current_page - 1) *self.per_page_num

@propertydefend(self):return self.current_page *self.per_page_numdefpage_html(self):#如果总页码 < 11个:

if self.all_pager <=self.pager_count:

pager_start= 1pager_end= self.all_pager + 1

#总页码 > 11

else:#当前页如果<=页面上最多显示11/2个页码

if self.current_page <=self.pager_count_half:

pager_start= 1pager_end= self.pager_count + 1

#当前页大于5

else:#页码翻到最后

if (self.current_page + self.pager_count_half) >self.all_pager:

pager_end= self.all_pager + 1pager_start= self.all_pager - self.pager_count + 1

else:

pager_start= self.current_page -self.pager_count_half

pager_end= self.current_page + self.pager_count_half + 1page_html_list=[]#添加前面的nav和ul标签

page_html_list.append('''

  • ''')

first_page= '

首页' % (1)

page_html_list.append(first_page)if self.current_page <= 1:

prev_page= '

上一页'

else:

prev_page= '

上一页' % (self.current_page - 1,)

page_html_list.append(prev_page)for i inrange(pager_start, pager_end):if i ==self.current_page:

temp= '

%s' %(i, i,)else:

temp= '

%s' %(i, i,)

page_html_list.append(temp)if self.current_page >=self.all_pager:

next_page= '

下一页'

else:

next_page= '

下一页' % (self.current_page + 1,)

page_html_list.append(next_page)

last_page= '

尾页' %(self.all_pager,)

page_html_list.append(last_page)#尾部添加标签

page_html_list.append('''

''')return ''.join(page_html_list)

antd自定义分页器_自定义分页器相关推荐

  1. android自定义插值器_自定义缓动插值器,可在Android中实现有意义的动作

    android自定义插值器 Interpolators are very useful to model movement for your UI elements. In this article, ...

  2. flutter 自定义绘制_自定义可绘制

    flutter 自定义绘制 I love our new designs! Recently I've been working on user interactions. One of them i ...

  3. 自定义函数_自定义函数,让你的表格为所欲为

    自定义函数可以做什么?可以让你的表格为所欲为! 这篇文章教你如何掌握自定义函数. 函数是大家在使用 Excel 工作的过程中经常会用到的. 比如大家已经很熟悉了的求和函数 SUM,计数函数 COUNT ...

  4. java自定义配置文件_自定义配置文件如何配置

    @Component public class RoleDirectiveModel implements TemplateDirectiveModel { /** * * @param enviro ...

  5. java自定义字段_自定义字段的设计与实现(Java实用版)

    前言 自定义字段又叫做"开放模型",用户可以根据自已的需求,添加需要的字段,实现个性化定制. 使用自定义字段的目的,使用自定义字段解决哪些问题 如现有一套CRM系统,客户模块中客户 ...

  6. python 列表自定义排序_自定义排序的Python列表

    我有一个dicts列表: ldicts = [{'name': '120-150'}, {'name': '90-120'}, {'name': '150-180'}, {'name': '>= ...

  7. 怎么自定义字体_自定义字体@fontface的常见应用

    前言 @font-face允许网页自带字体,从而消除对用户电脑字体的依赖.基本用法如下: @font-face { font-family: "family-name"; /* 字 ...

  8. 模板使用自定义类型_自定义虚幻图表_拓展蓝图功能

    最近研究了下虚幻的图表编辑器写法,制作了个基础模板给大家用来制作自己的编辑器~ 资源类型节点编辑器(提供了基础的节点编辑功能.并保存时转化为UObject的子类的运行时数据结构): Eragon-Br ...

  9. java 自定义表达式_自定义 Java Lambda

    用了这么久的 Java,也体验了 Java 8 的 lambda 带来的便捷,但是我一直都是直接用,而从未想过他是如何实现的.比如:为什么在小括号里面可以放一个函数作为参数,自己造一个lambda 应 ...

最新文章

  1. Tensorflow— 递归神经网络RNN
  2. Xcode 报错Could not find developer disk image,iOS10
  3. oracle和mysql查询_ORACLE 数据库 查询语句与DML语句
  4. Apache中抑制IP段,在httpd.conf中的写法
  5. layer iframe层的使用,传参
  6. 2017.3.24组合数学学习——容斥原理
  7. python动态语言双刃性_动态语言的灵活性是把双刃剑:以 Python 语言为例
  8. matlab逆变换法产生随机数_matlab数值积分方法(一)
  9. javaScript中私有属性和方法
  10. JavaScript的面向对象原理之原型链
  11. 11.2 正睿停课训练 Day15
  12. 以固定速率发包工具linux,linux发包软件-指定卡合同如何在linux下封闭包
  13. CrossMap基因坐标转换:hg38和hg37互换
  14. matlab中怎么求矩阵的转置
  15. 【纯java语言做RPG游戏】4.用XML导入NPC并与NPC对话
  16. 基本知识 100190
  17. pid双闭环matlab仿真,SPWM波控制单相逆变器双闭环PID调节器的Simulink建模与仿真
  18. 国内各省市有关中小学少儿编程进展(节选)
  19. java解析txt文本文件_java读取文本文件内容方法详解,java如何读取txt文件?
  20. java swing表格翻页_让Swing表格支持远程后台数据翻页

热门文章

  1. Blender液体烟与火VFX特效制作教程 Blender VFX Liquid Smoke Fire
  2. C语言的单链表逆序和指定范围逆序
  3. Linux负载均衡实现
  4. 洛谷 3519 bzoj 2213 Difference
  5. pcntl_fork 导致 MySQL server has gone away 解决方案
  6. 172. Factorial Trailing Zeroes
  7. VSS的每日自动备份
  8. 巧用CSS的alpha滤镜
  9. 一个鼠标类( Using C# and Win32API)
  10. 让Asp.NET的DataGrid可排序、可选择、可分页