python flask实现分页的示例代码


Posted in Python onAugust 02, 2018

结合mysql数据库查询,实现分页效果

@user.route("/user_list",methods=['POST','GET'])
def user_list():
  p = g.args.get("p", '') #页数
  show_shouye_status = 0 #显示首页状态

  if p =='':
    p=1
  else:
    p=int(p)
    if p > 1:
      show_shouye_status = 1

  mdb = db_session()
  limit_start = (int(p)-1)*10#起始

  sql ="select * from page_text limit {0},10".format(limit_start)
  user_list=mdb.getMany(sql)

  sql="select count(id) as total from page_text"
  count = mdb.getOne(sql)['total'] #总记录
  total = int(math.ceil(count/10.0)) #总页数

  dic = get_page(total,p)
  datas={
    'user_list':user_list,
    'p': int(p),
    'total': total,
    'show_shouye_status': show_shouye_status,
    'dic_list': dic

  }
  return render_template("user_list.html",datas=datas)

其中get_page为封装的方法:

def get_page(total,p):
  show_page = 5  # 显示的页码数
  pageoffset = 2 # 偏移量
  start = 1  #分页条开始
  end = total #分页条结束

  if total > show_page:
    if p > pageoffset:
      start = p - pageoffset
      if total > p + pageoffset:
        end = p + pageoffset
      else:
        end = total
    else:
      start = 1
      if total > show_page:
        end = show_page
      else:
        end = total
    if p + pageoffset > total:
      start = start - (p + pageoffset - end)
  #用于模版中循环
  dic = range(start, end + 1)
  return dic

如果这里需要进行前端模板的拼接的话,可以需要以下代码(bootstrap)

<ul class="pagination">
    {% if datas.show_shouye_status==1%}
      <li class=''><a href='/user/user_list?p=1'>首页</a></li>
      <li class=''><a href='/user/user_list?p={{datas.p-1}}'>上一页</a></li>
   {%endif%}

    {% for dic in datas.dic_list %}
      {% if dic==datas.p%}
       <li class="active"><a href="/user/user_list?p={{dic}}" rel="external nofollow" rel="external nofollow" >{{dic}}</a></li>
      {%else%}
        <li><a href="/user/user_list?p={{dic}}" rel="external nofollow" rel="external nofollow" >{{dic}}</a></li>
      {%endif%}
    {%endfor%}

    {% if datas.p < datas.total%}
      <li class=''><a href='/user/user_list?p={{datas.p+1}}'>下一页</a></li>
      <li class=''><a href='/user/user_list?p={{datas.total}}'>尾页</a></li>
    {%endif%}
      共{{datas.total}}页
 </ul>

bootstrap样式 http://edu.3water.com/bootstrap/bootstrap-pagination.html

如果是返回给APP端的话,直接返回data数据就可以了。

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

Python 相关文章推荐
用python + hadoop streaming 分布式编程(一) -- 原理介绍,样例程序与本地调试
Jul 14 Python
Python最基本的数据类型以及对元组的介绍
Apr 14 Python
Python实现的中国剩余定理算法示例
Aug 05 Python
python 将print输出的内容保存到txt文件中
Jul 17 Python
Python操作json的方法实例分析
Dec 06 Python
python使用sessions模拟登录淘宝的方式
Aug 16 Python
Python中__repr__和__str__区别详解
Nov 07 Python
Pytorch 之修改Tensor部分值方式
Dec 27 Python
Python Flask上下文管理机制实例解析
Mar 16 Python
keras中的backend.clip用法
May 22 Python
Python 用户输入和while循环的操作
May 23 Python
详解Golang如何实现支持随机删除元素的堆
Sep 23 Python
Django分页查询并返回jsons数据(中文乱码解决方法)
Aug 02 #Python
Python实现正整数分解质因数操作示例
Aug 01 #Python
Python列表生成式与生成器操作示例
Aug 01 #Python
Python开发最牛逼的IDE——pycharm
Aug 01 #Python
django从请求到响应的过程深入讲解
Aug 01 #Python
python3.6的venv模块使用详解
Aug 01 #Python
从请求到响应过程中django都做了哪些处理
Aug 01 #Python
You might like
数字转英文
2006/12/06 PHP
php采集文章中的图片获取替换到本地(实现代码)
2013/07/08 PHP
PHP连接MySQL的2种方法小结以及防止乱码
2014/03/11 PHP
PHP 二维数组和三维数组的过滤
2016/03/16 PHP
thinkphp5.0整合phpsocketio完整攻略(绕坑)
2018/10/12 PHP
解决php用mysql方式连接数据库出现Deprecated报错问题
2019/12/25 PHP
一个高效的JavaScript压缩工具下载集合
2007/03/06 Javascript
在IE中调用javascript打开Excel的代码(downmoon原作)
2007/04/02 Javascript
用js实现下载远程文件并保存在本地的脚本
2008/05/06 Javascript
JavaScript之编码规范 推荐
2012/05/23 Javascript
JavaScript使用focus()设置焦点失败的解决方法
2014/09/03 Javascript
基于JavaScript实现手机短信按钮倒计时(超简单)
2015/12/30 Javascript
jquery中键盘事件小结
2016/02/24 Javascript
浅析jQuery 3.0中的Data
2016/06/14 Javascript
JS简单获取及显示当前时间的方法
2016/08/03 Javascript
jQuery表单验证简单示例
2016/10/17 Javascript
在vue中封装可复用的组件方法
2018/03/01 Javascript
详解React Native 屏幕适配(炒鸡简单的方法)
2018/06/11 Javascript
bootstrap 弹出框modal添加垂直方向滚轴效果
2018/07/09 Javascript
使用js实现将后台传入的json数据放在前台显示
2018/08/06 Javascript
js微信分享接口调用详解
2019/07/23 Javascript
Weex开发之地图篇的具体使用
2019/10/16 Javascript
浅谈vue异步数据影响页面渲染
2019/10/29 Javascript
Python获取服务器信息的最简单实现方法
2015/03/05 Python
Python中的元类编程入门指引
2015/04/15 Python
用python写一个windows下的定时关机脚本(推荐)
2017/03/21 Python
Python 类的私有属性和私有方法实例分析
2019/09/29 Python
HTML5 File API改善网页上传功能
2009/08/19 HTML / CSS
HTML5的标签的代码的简单介绍 HTML5标签的简介
2012/05/28 HTML / CSS
微信html5页面调用第三方位置导航的示例
2018/03/14 HTML / CSS
亚历山大·王官网:Alexander Wang
2017/06/23 全球购物
意大利领先的线上奢侈品销售电商:Eleonora Bonucci
2017/10/17 全球购物
Nike西班牙官方网站:Nike.com (ES)
2017/10/30 全球购物
巴西购物网站:Submarino
2020/01/19 全球购物
高中打架检讨书
2014/02/13 职场文书
Redis高级数据类型Hyperloglog、Bitmap的使用
2021/05/24 Redis