填充一些数据在表中

@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. EncryptUtils

    package me.zhengjie.core.utils; import org.springframework.util.DigestUtils; import javax.crypto.Cip ...

  2. MOOC(9)- 登录接口返回的cookie中有多个token

  3. pycharm中无法导入pip安装的包

    https://blog.csdn.net/mdxiaohu/article/details/82430060 2020.1.20 练习通过python操作数据库的时候需要导入一个包,因为看代码写的是 ...

  4. hql错误:No data type for node: org.hibernate.hql.ast.tree.IdentNode

    今天写了一个查询,用的是hql,数据库是mysql.多表联查,结果报错了报: \-[IDENT] IdentNode: 'routerNumber' {originalText=routerNumbe ...

  5. Starting php-fpm [18-Jun-2019 12:56:59] NOTICE: PHP message: PHP Warning: Version warning提示报错解决

    php-fpm在命令行重启时出现如下提示信息在终端上,虽然不影响使用,但是不够干净利落,参考了一篇国外博客得以解决,参考链接:https://community.centminmod.com/thre ...

  6. redis笔记之一

    NoSQL简介 全称是Not Only SQL,泛指菲关系型数据库,它是通过键值对存储数据并且将数据存储在内存中.而像mysql,sql server这些通过关系表存数据的就叫关系型数据库 为什么需要 ...

  7. es6this箭头函数

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 < ...

  8. 再谈拍照,OPPO这次拿什么和iPhone7拼?

    ​一年一度的iPhone新机如期而至,双摄像头成为iPhone 7 Plus标配,尽管在这之前,双摄像头已有少数厂商在手机上装备,但苹果一出,市场必定全面跟进.无论各大厂商是否采用双摄像头,在手机拍照 ...

  9. Spring aop(1)--- 寻找切面和代理对象执行流程源码分析

    1.基于注解,首先我们是通过@EnableAspectJAutoProxy()这个注解开起AOP功能,这个注解会导入AspectJAutoProxyRegistrar组件从而将AnnotationAw ...

  10. 1——PHP常见的系统常量

    */ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhe ...