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实现的简单FTP上传下载文件实例
Jun 30 Python
Django的URLconf中使用缺省视图参数的方法
Jul 18 Python
Python常用内置模块之xml模块(详解)
May 23 Python
python创建列表和向列表添加元素的实现方法
Dec 25 Python
Python Paramiko模块的使用实际案例
Feb 01 Python
Python实现将数据框数据写入mongodb及mysql数据库的方法
Apr 02 Python
Python模拟浏览器上传文件脚本的方法(Multipart/form-data格式)
Oct 22 Python
Python中的random.uniform()函数教程与实例解析
Mar 02 Python
使用python 将图片复制到系统剪贴中
Dec 13 Python
pycharm解决关闭flask后依旧可以访问服务的问题
Apr 03 Python
Python lambda表达式原理及用法解析
Aug 18 Python
matplotlib运行时配置(Runtime Configuration,rc)参数rcParams解析
Jan 05 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 判断服务器操作系统的类型
2014/02/17 PHP
如何利用http协议发布博客园博文评论
2015/08/03 PHP
JavaScript入门之基本函数详解
2011/10/21 Javascript
jquery showModelDialog的使用方法示例详解
2013/11/19 Javascript
JavaScript极简入门教程(三):数组
2014/10/25 Javascript
JavaScript中定义函数的三种方法
2015/03/12 Javascript
javascript实现table表格隔行变色的方法
2015/05/13 Javascript
详解JavaScript中的4种类型识别方法
2015/09/14 Javascript
jQuery-mobile事件监听与用法详解
2016/11/23 Javascript
jQuery实现鼠标滑过图片移动特效
2016/12/08 Javascript
微信小程序 五星评价功能的实现
2017/03/09 Javascript
vue.js指令和组件详细介绍及实例
2017/04/06 Javascript
微信小程序使用wx.request请求服务器json数据并渲染到页面操作示例
2019/03/30 Javascript
Vue 实现CLI 3.0 + momentjs + lodash打包时优化
2019/11/13 Javascript
vue 子组件修改data或调用操作
2020/08/07 Javascript
[57:50]DOTA2上海特级锦标赛主赛事日 - 4 胜者组决赛Secret VS Liquid第二局
2016/03/05 DOTA
[05:40]DOTA2荣耀之路6:Wings最后进攻
2018/05/30 DOTA
Python编程中的异常处理教程
2015/08/21 Python
python+mongodb数据抓取详细介绍
2017/10/25 Python
python 读取摄像头数据并保存的实例
2018/08/03 Python
matplotlib调整子图间距,调整整体空白的方法
2018/08/03 Python
python3.6.3安装图文教程 TensorFlow安装配置方法
2020/06/24 Python
Python3爬虫爬取百姓网列表并保存为json功能示例【基于request、lxml和json模块】
2018/12/05 Python
Python3.5文件修改操作实例分析
2019/05/01 Python
详解PyTorch手写数字识别(MNIST数据集)
2019/08/16 Python
详解用Python调用百度地图正/逆地理编码API
2020/07/02 Python
如何用tempfile库创建python进程中的临时文件
2021/01/28 Python
澳大利亚领先的在线美容商城:Adore Beauty
2017/04/14 全球购物
美术专业学生个人自我评价
2013/09/19 职场文书
擅自离岗检讨书
2014/02/11 职场文书
《胡杨》教学反思
2014/02/16 职场文书
学校领导班子四风问题整改意见
2014/10/02 职场文书
2014年学生会个人工作总结
2014/11/07 职场文书
搞笑结婚保证书
2015/05/08 职场文书
测量JavaScript函数的性能各种方式对比
2021/04/27 Javascript
python如何利用cv2.rectangle()绘制矩形框
2022/12/24 Python