参考链接: Python | 在Flask中使用for循环

结合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}}">{{dic}}</a></li>

{%else%}

<li><a href="/user/user_list?p={{dic}}">{{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://www.runoob.com/bootstrap/bootstrap-pagination.html

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

更多博客请访问:  https://blog.csdn.net/xudailong_blog/article/details/78762262

[转载] python flask实现分页相关推荐

  1. Build Docker image of a Python Flask app【转载】

    原文地址:https://stackoverflow.com/questions/41750366/build-docker-image-of-a-python-flask-app I'm tryin ...

  2. [转载] python之flask框架

    参考链接: Python | Flask中404的错误处理 Flask是python编写的, Web应用框架:微内核的web框架,适用于小型网站 1.实现一个简单的web服务网站 # 1. 导入Fla ...

  3. 用python+flask自己制作api(教程附源码)

    1.背景 ok,可能很多朋友跟我一样经常使用各种api,比如facebook的,github的,甚至是微信的api.所以很多人也想制作自己的api.网上关于这方面的教程实在是很少,今天我就顺手做了一个 ...

  4. 【基于Python+Flask项目部署系列--03】开发测试环境配置-基于Ubuntu16.04

    一.开发测试环境介绍 前提已经部署完[基于Python+Flask项目部署系列--02]Ubuntu16.04服务器安装.建议部署2套环境:开发测试环境+生产环境. 这篇文章主要讲解测试环境如何配置p ...

  5. python flask快速入门与进阶-Flask基础进阶与python flask实战bbs教程

    ├─Flask基础进阶 │ 01-HTTP 基础知识.mp4 │ 02-python CGI 与 WebServer.mp4 │ 03-virtuanenv配置及Flask快速示例.mp4 │ 04- ...

  6. Python+Flask+MysqL的web建设技术过程

    前言 本人在一学期时间实现了Python+Flask+MysqL的web建设,页面具有简单的登录注册发布文章搜索文章等功能. 这篇文章总结了我最近一段时间的学习成果:使用Flask框架搭建一个web ...

  7. 比我的脸还干的gan货——Python Flask Web 框架入门

    Flask是一个轻量级的基于Python的web框架. 本文适合有一定HTML.Python.网络基础的同学阅读. 1. 简介 这份文档中的代码使用 Python 3 运行. 是的,所以读者需要自己在 ...

  8. API接口开发其实特简单,Python Flask Web 框架教程来了

    大家好,日常工作中,无论你是数据工程师.数据挖掘工程师,甚至数据分析人员,都不可避免的与他人进行数据交互,API接口提供数据是最常见的形式. 今天我给大家分享 Python Flask Web 框架教 ...

  9. Python+Flask框架搭建可视化网站

    Python+Flask框架搭建可视化网站 一.项目结构 二.app.py from flask import Flask,render_template import sqlite3app = Fl ...

最新文章

  1. python3中format方法_python3 自定制format格式化,很多很多的内置方法。。。。。。。。。。。...
  2. 【Python line_profiler memory_profiler】分析每一行代码的耗时及内存占用情况
  3. OpenGL中摄像机矩阵的计算原理
  4. 如何异地加载 Spring Boot 配置文件?
  5. 如何快速删除打印机任务
  6. 多个cuda 被单进程沾满_报名 | 提高GPU利用率,听英伟达专家分享这个CUDA工具
  7. [Drupal] How to add the js file and js code block in Drupal
  8. Kotlin学习笔记18 反射Part2
  9. export_symbol能对变量使用吗_美缝剂能代替玻璃胶使用吗?
  10. nginx搭建网关服务器
  11. 我知道真相,但我仍然勇往直前
  12. bzoj-1079 着色方案(dp)
  13. JSP Overview
  14. ImportError: IProgress not found. Please update jupyter and ipywidgets.
  15. adc信噪比matlab测试代码,ADC测试matlab代码
  16. R语言学习笔记 | R语言的入门
  17. chmod755的含义
  18. 手持式频谱分析仪推荐哪一款?
  19. 模电(八)放大电路静态工作点的稳定性
  20. VSCode改主题背景

热门文章

  1. Steam游戏Hacknet部分命令备份
  2. 【51nod】最大子段和
  3. php比赛票数造假算法,PHP可以修改概率的抽奖算法(例如转盘等,个人感觉蛮好用)...
  4. SQL Server高级查询之数据库安全管理 第六章节
  5. 记忆化搜索--poj 1597 Function Run Fun
  6. python打印对象地址_Python打印对象的全部属性
  7. 设计模式—原型模式及其扩展(思维导图)
  8. 有长度要求的区间最大值
  9. pytorch 中 torch.cat 函数的使用
  10. matlab2c使用c++实现matlab函数系列教程-randn函数