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检测远程udp端口是否打开的方法
Mar 14 Python
python使用urllib2提交http post请求的方法
May 26 Python
Python开发如何在ubuntu 15.10 上配置vim
Jan 25 Python
Pycharm学习教程(1) 定制外观
May 02 Python
python3+PyQt5重新实现自定义数据拖放处理
Apr 19 Python
Python Web框架之Django框架文件上传功能详解
Aug 16 Python
Python 取numpy数组的某几行某几列方法
Oct 24 Python
浅谈keras中的keras.utils.to_categorical用法
Jul 02 Python
Python如何爬取b站热门视频并导入Excel
Aug 10 Python
python绘制箱型图
Apr 27 Python
Python爬虫 简单介绍一下Xpath及使用
Apr 26 Python
python如何为list实现find方法
May 30 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
PHP环境搭建最新方法
2006/09/05 PHP
PHPlet在Windows下的安装
2006/10/09 PHP
php学习之简单计算器实现代码
2011/06/09 PHP
ThinkPHP调试模式与日志记录概述
2014/08/22 PHP
ThinkPHP函数详解之M方法和R方法
2015/09/10 PHP
php版微信开发之接收消息,自动判断及回复相应消息的方法
2016/09/23 PHP
关于Yii2框架跑脚本时内存泄漏问题的分析与解决
2019/12/01 PHP
js控制div及网页相关属性的代码
2009/12/19 Javascript
JS获取浏览器版本及名称实现函数
2013/04/02 Javascript
完美兼容IE,chrome,ff的设为首页、加入收藏及保存到桌面js代码
2014/12/17 Javascript
使用AngularJS对路由进行安全性处理的方法
2015/06/18 Javascript
浅谈JSON.parse()和JSON.stringify()
2015/07/14 Javascript
jQuery满屏焦点图左右滚动特效代码分享
2015/09/07 Javascript
ECMAScript6快速入手攻略
2016/07/18 Javascript
解析利用javascript如何判断一个数为素数
2016/12/08 Javascript
使用canvas及js简单生成验证码方法
2017/04/02 Javascript
AngularJS中控制器函数的定义与使用方法示例
2017/10/10 Javascript
NodeJS http模块用法示例【创建web服务器/客户端】
2019/11/05 NodeJs
vue elementui 实现搜索栏公共组件封装的实例代码
2020/01/20 Javascript
[14:51]DOTA2 HEROS教学视频教你分分钟做大人-卓尔游侠
2014/06/13 DOTA
使用cx_freeze把python打包exe示例
2014/01/24 Python
全面理解Python中self的用法
2016/06/04 Python
Python使用cookielib模块操作cookie的实例教程
2016/07/12 Python
使用Python将数组的元素导出到变量中(unpacking)
2016/10/27 Python
使用Python通过win32 COM实现Word文档的写入与保存方法
2018/05/08 Python
python中多层嵌套列表的拆分方法
2018/07/02 Python
对python中类的继承与方法重写介绍
2019/01/20 Python
Otticanet英国:最顶尖的世界名牌眼镜, 能得到打折季的价格
2019/02/10 全球购物
优秀导游先进事迹材料
2014/01/25 职场文书
工程技术员岗位职责
2014/03/02 职场文书
员工合理化建议书
2014/05/19 职场文书
大学生交通专业求职信
2014/09/01 职场文书
幼儿园教师的自我评价范文
2014/09/17 职场文书
督导岗位职责
2015/02/04 职场文书
优秀乡村医生事迹材料(2016精选版)
2016/02/29 职场文书
MySql重置root密码 --skip-grant-tables
2022/04/11 MySQL