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用字典统计单词或汉字词个数示例
Apr 22 Python
python生成随机mac地址的方法
Mar 16 Python
30分钟搭建Python的Flask框架并在上面编写第一个应用
Mar 30 Python
python通过socket实现多个连接并实现ssh功能详解
Nov 08 Python
在python中利用dict转json按输入顺序输出内容方式
Feb 27 Python
Pyinstaller加密打包应用的示例代码
Jun 11 Python
详解pycharm连接远程linux服务器的虚拟环境的方法
Nov 13 Python
matplotlib 使用 plt.savefig() 输出图片去除旁边的空白区域
Jan 05 Python
Python爬虫后获取重定向url的两种方法
Jan 19 Python
解析目标检测之IoU
Jun 26 Python
Pandas搭配lambda组合使用详解
Jan 22 Python
Python创建SQL数据库流程逐步讲解
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
php使用Jpgraph绘制柱形图的方法
2015/06/10 PHP
PHP PDOStatement::setAttribute讲解
2019/02/01 PHP
PHP Beanstalkd消息队列的安装与使用方法实例详解
2020/02/21 PHP
csdn 批量接受好友邀请
2009/02/19 Javascript
JavaScript 高效运行代码分析
2010/03/18 Javascript
Javascript 通过json自动生成Dom的代码
2010/04/01 Javascript
关于锚点跳转及jQuery下相关操作与插件
2012/10/01 Javascript
javascript自动改变文字大小和颜色的效果的小例子
2013/08/02 Javascript
JS实现动态给图片添加边框的方法
2015/04/01 Javascript
iframe跨域通信封装详解
2015/08/11 Javascript
基于Jquery和html5的7款个性化地图插件
2015/11/17 Javascript
AngularJs html compiler详解及示例代码
2016/09/01 Javascript
JavaScript实现倒计时跳转页面功能【实用】
2016/12/13 Javascript
fullPage.js和CSS3实现全屏滚动效果
2017/05/05 Javascript
Bootstrap响应式表格详解
2017/05/23 Javascript
JS组件系列之Gojs组件 前端图形化插件之利器
2017/11/29 Javascript
bootstrap-treeview实现多级树形菜单 后台JSON格式如何组织?
2019/07/26 Javascript
python实现爬虫下载漫画示例
2014/02/16 Python
Python3实现将文件树中所有文件和子目录归档到tar压缩文件的方法
2015/05/22 Python
Python实现的使用telnet登陆聊天室实例
2015/06/17 Python
浅谈numpy中linspace的用法 (等差数列创建函数)
2017/06/07 Python
Python爬虫获取整个站点中的所有外部链接代码示例
2017/12/26 Python
Python程序运行原理图文解析
2018/02/10 Python
详解如何在python中读写和存储matlab的数据文件(*.mat)
2018/02/24 Python
pandas的排序和排名的具体使用
2019/07/31 Python
python 实现list或string按指定分段
2019/12/25 Python
使用Python三角函数公式计算三角形的夹角案例
2020/04/15 Python
python使用建议技巧分享(三)
2020/08/18 Python
高清屏中使用Canvas绘图出现模糊的问题及解决方法
2019/06/03 HTML / CSS
优秀的茶餐厅创业计划书
2014/01/03 职场文书
绿色环保标语
2014/06/12 职场文书
学生乘坐校车安全责任书
2015/05/11 职场文书
2015年“我们的节日·重阳节”活动总结
2015/07/29 职场文书
如何利用Python实现一个论文降重工具
2021/07/09 Python
记一次Mysql不走日期字段索引的原因小结
2021/10/24 MySQL
windows server 2016 域环境搭建的方法步骤(图文)
2022/06/25 Servers