填充一些数据在表中

@blue.route('/pages/')
def pages():
  # 默认进入这个视图函数 第一页并只显示5条数据
page = request.args.get('page',1,type=int)
per_page = request.args.get('per_page',5,type=int) # 返回列表 如[1, 2, 3, 4]
pagination = Pron.query.order_by(Pron.p_id.desc()).paginate(page,per_page) # Pron.p_id.desc() 或者 -Pron.p_id 是倒序排列 # 返回当前页的所有数据
persons = pagination.items
  
return render_template('per.html',pagination=pagination,persons=persons)
# per.html

    {% for person in persons %}
id:{{ person.p_id }}<br>
字段:{{ person.p_str }}<br>
随机号码:{{ person.p_int }}<br><br>
{% endfor %} <hr>
<!--------------第一页--------------------->
<a href="{{ url_for('base.pages') }}">第一页</a>
    
  # 通过 has_prev 判断是否能上一页,不能则 url 为 #

{% if pagination.has_prev %}
<a href="{{ url_for('base.pages') }}?page={{ pagination.prev_num }}">上一页</a>
{% else %}
<a href="#">上一页</a>
{% endif %} <!--------------页码列表--------------------->
{% for page in pagination.iter_pages() %}
{% if page %}
<!--------------当列表中的页码不等于 当前的页数 生成其他页码数(url)--------------------->
{% if page != pagination.page %}
<a href="{{ url_for('base.pages') }}?page={{ page }}">{{ page }}</a>
{% else %}
<a href="#">{{ page }}</a>
{% endif %}
{% endif %}
{% endfor %}
  
  
  # 通过 has_next 判断是否能上一页,不能则 url 为 #
    {% if pagination.has_next %}
<a href="{{ url_for('base.pages') }}?page={{ pagination.next_num }}">下一页</a>
{% else %}
<a href="#">上一页</a>
{% endif %} <!--------------最后一页--------------------->
<a href="{{ url_for('base.pages') }}?page={{ pagination.pages }}">最后一页</a> <hr> 当前页面 {{ pagination.page }}
总页数 {{ pagination.pages }}
总数据 {{ pagination.total }}

显示




其中一些方法的知识点

paginate.page 当前页数
paginate.pages 总页数
paginate.total 数据总条数
paginate.has_prev 是否存在上一页 是则返回trun
paginate.iter_pages() 所有页码    返回列表 如[1, 2, 3, 4]  可在html模板中迭代得到页码数
paginate(page, per_page,error_out).items  返回当前页的所有数据  在html中循环迭代得到其中数据 如下
{% for person in paginate.items %}
        id:{{ person.p_id }}<br>
字段:{{ person.p_str }}<br>
随机号码:{{ person.p_int }}<br><br>
{% endfor %}


简化视图函数和html模板

@blue.route('/pages/')
def pages(): page = request.args.get('page',1,type=int)
per_page = request.args.get('per_page',5,type=int) # 返回列表 如[1, 2, 3, 4]
pagination = Pron.query.order_by(Pron.p_id.desc()).paginate(page,per_page) # Pron.p_id.desc() 或者 -Pron.p_id 是倒序排列 # 返回当前页的所有数据
persons = pagination.items   # 不需要直接使用paginate在html模板中items循环
# return render_template('per.html',pagination=pagination,persons=persons) # 简化 在html页面中paginate.items 可以for循环迭代的到实例汇总的数据
return render_template('per.html', pagination=pagination)
{% for person in pagination.items %}
id:{{ person.p_id }}<br>
字段:{{ person.p_str }}<br>
随机号码:{{ person.p_int }}<br><br>
{% endfor %}

flask 分页数据显示的更多相关文章

  1. Flask分页

    一.flask实现的分页组件 from urllib.parse import urlencode,quote,unquote class Pagination(object): "&quo ...

  2. jQuery+Ajax+PHP实现异步分页数据显示

    这几天做毕业设计的时候需要使用到一个异步分页的功能,即翻页的时候只是刷新分页的数据而不是刷新整个页面.因为之前做项目的时候没有做过这方面的功能,所以还是纠结了挺长时间的,在网上也找了很多资料,结合自己 ...

  3. flask 分页

    在我们学习的过程中会遇到这么样的问题,就是在我们学习的过程中会发现需要分页处理,这里呢,给大家介绍书上说的分页. @app.route('/',methods=['GET']) @app.route( ...

  4. Flask 分页的简单用法 / flask_sqlalchemy /无刷新翻转页面(原创)

    flask_sqlalchemy对象提供分页方法 1. 后台views代码: from models import <table_name> #导入model的对象 @app.route( ...

  5. JSP页面动态查询添加数据与分页数据显示

    1 . <%@ page language="java" contentType="text/html; charset=UTF-8"%> < ...

  6. [flask]分页显示列表

    添加分页支持的视图函数 app.py @app.route('/search') def search(): page = request.args.get('page', 1, type=int) ...

  7. flask分页功能:基于flask-sqlalchemy和jinja2

    先看源码: @app.route('/movie', methods=['GET', 'POST']) @app.route('/home', methods=['GET', 'POST']) @ap ...

  8. Flask系列(五)Flask实现分页

    一.flask分页组件 from urllib.parse import urlencode,quote,unquote class Pagination(object): ""& ...

  9. 基于Metronic的Bootstrap开发框架经验总结(2)--列表分页处理和插件JSTree的使用

    在上篇<基于Metronic的Bootstrap开发框架经验总结(1)-框架总览及菜单模块的处理>介绍了Bootstrap开发框架的一些基础性概括,包括总体界面效果,以及布局.菜单等内容, ...

随机推荐

  1. deeplearning.ai 神经网络和深度学习 week1 深度学习概论

    1. 预测房价.广告点击率:典型的神经网络,standard NN. 图像:卷积神经网络,CNN. 一维序列数据,如音频,翻译:循环神经网络,RNN. 无人驾驶,涉及到图像.雷达等更多的数据类型:混合 ...

  2. fedoar29配置漏洞平台webgoat

    fedoar29配置漏洞平台webgoat 该环境基于java环境,故需要配置相应的java版本 查看java版本 1 java -version 结果如下: 123 openjdk version ...

  3. flink 基本原理

    state状态操作 https://ci.apache.org/projects/flink/flink-docs-release-1.8/concepts/programming-model.htm ...

  4. spring学习笔记三:Component注解(把POJO类实例化到spring的IOC容器中)

    Component注解:把普通的POJO 类实例化到spring的IOC容器中,就是定义成<bean id="" class=""> 项目目录树: ...

  5. 在angular中自定义筛选管道

    Angular 内置了一些管道,比如 DatePipe.UpperCasePipe.LowerCasePipe.CurrencyPipe 和 PercentPipe. 它们全都可以直接用在任何模板中; ...

  6. 吴裕雄--天生自然 R语言开发学习:分类(续一)

    #-----------------------------------------------------------------------------# # R in Action (2nd e ...

  7. shell知多少?

    Shell字面理解就是个"壳",是操作系统(内核)与用户之间的桥梁,充当命令解释器的作用,将用户输入的命令翻译给系统执行.Linux中的shell与Windows下的DOS一样,提 ...

  8. Leetcode 981. Time Based Key-Value Store(二分查找)

    题目来源:https://leetcode.com/problems/time-based-key-value-store/description/ 标记难度:Medium 提交次数:1/1 代码效率 ...

  9. Linux Command Backup

    User Structure linux command review 列出所有信号 找到名字后,kill 或者用ps找到 kill同名进程 每隔一秒高亮显示网络链接数的变化情况 启动关闭制定网卡 关 ...

  10. 从谷歌到脸书:为何巨头纷纷“钟情于”VR相机?

    VR的火爆,自然无需多言.而基于VR这一个概念,已经在多个相关行业不断衍生出新的产品.服务或内容.VR眼镜.VR头盔.VR相机.VR游戏.VR影视.VR应用--但VR产业的发展并不是齐头并进,而是出现 ...