[flask]分页显示列表
添加分页支持的视图函数
app.py
@app.route('/search')
def search():
page = request.args.get('page', 1, type=int) #从查询字符串获取当前页数
per_page = current_app.config['GOGOTEST_CASE_PRE_PAGE']#每页数量
form = SearchForm()
keyword = request.args.get('keyword')
pagination = TestCase.query.filter_by(creater=keyword).paginate(page, per_page=per_page)#分页对象当前页数的记录列表
search_result = pagination.items#当前页数的记录列表
if search_result:
return render_template('auto_test_case.html', pagination=pagination, cases=search_result, form=form)
else:
return 'Not Found'
注意:
在使用render_template将对象传给模板文件时,除了传递查询结果,不要忘记传递pagination对象
知识点:
tip1:
Flask_SQLAlchemy提供了简单的分页功能 ,使用paginate()查询方法可以获取case记录
为了实现分页,把之前的查询执行函数all()换成了paginate(),它接收的两个最主要的参数是page和per_page
page:当前请求的页数
per_page:设置每页返回的记录数量,为了方便统一修改,这个值从配置变量GOGOTEST_CASE_PRE_PAGE获取
也可以直接指定它的值:
per_page=15
tip2:
如果没有 指定page和per_page参数,Flask-SQLAlchemy会自动从查询字符串中获取对应查询参数(page和per_page)的值,如果没有获取到,默认的page=1,默认的per_page=20
tip3:
调用 查询方法 paginate()会返回一个Pagination类实例,它包含分页的信息,我们将其称为分页对象.
对这个pagination对象调用items属性会以列表的形式返回对应页数(默认为第一页)的记录.
在访问这个url时,如果在URL后附加了查询参数page来指定页数,例如:http://xxxx/?page=2,这时发起请求调用items变量将会获得第2页的15条记录.
pagination常用方法:
items
- 当前页的元素集合
total
- 匹配的元素总数
参考:
flask_sqlalchemy 中的 paginate 实现分页
[flask]分页显示列表的更多相关文章
- 利用JqGrid结合ashx及EF分页显示列表之二
上一篇文章简单利用JqGrid及ashx进行一个数据列表的显示,要文的重点是利用EF的分页与JqGrid进行结合,EF本文只是简单运用所以没有很规范,重点还是JqGrid分页的实现;本实例把JqGri ...
- 自制MVC框架CRUD操作、列表、分页显示插件介绍
这里涉及到的操作都是引用自Stephen.DALService数据层.数据访问层实现方式在后文中我会仔细的说明,先说明一下数据操作集成的插件. 1).InsertAttribute 用于插入记录. 状 ...
- SharePoint 2013 自定义翻页显示列表项
项目需求:自定义开发一个能分页显示列表项的小部件,允许左右翻页,能根据用户权限来显示管理链接等. 效果如下: 技术要求:使用sharepoint rest API 来获取列表项,这样性能高,能够快速响 ...
- 织梦仿站列表页pagelist分页显示竖排,如何修改成横排?
织梦仿站列表页pagelist分页显示竖排,如何修改成横排? 织梦列表页的分页标签是采用pagelist来进行调用的,但是很多人在调用之后会出现一个列表竖着排列的问题(横排美观度好一些),还是非常不美 ...
- 基于SpringBoot从零构建博客网站 - 分页显示文章列表功能
显示文章列表一般都是采用分页显示,比如每页10篇文章显示.这样就不用每次就将所有的文章查询出来,而且当文章数量特别多的时候,如果一次性查询出来很容易出现OOM异常. 后台的分页插件采用的是mybati ...
- flask 前端 分页 显示
# flask 前端 分页 显示 1.分页原理 web查询大量数据并显示时有有三种方式: 从数据库中查询全部,在view/客户端筛选/分页:不能应对记录大多的情况,一般不使用: 分页查询,每次在数据库 ...
- day81:luffy:课程分类页面&课程信息页面&指定分类显示课程信息&分页显示课程信息
目录 1.构建课程前端初始页面 2.course后端的准备工作 3.后端实现课程分类列表接口 4.前端发送请求-获取课程分类信息 5.后端实现课程列表信息的接口 6.前端显示列表课程信息 7.按照指定 ...
- JSP分页显示实例(基于Bootstrap)
首先介绍一款简单利落的分页显示利器:bootstrap-paginator 效果截图: GitHub官方下载地址:https://github.com/lyonlai/bootstrap-pagina ...
- 如何对sharepoint图片库的文件夹的图片按照时间排序并分页显示
/// <summary> /// 获取图片库第一层文件夹--根据文件夹名称排序 /// </summary> /// <param name="siteUrl ...
随机推荐
- 线程安全的Singleton要点
1.privat static Singleton 要加votatile关键字修饰,防止对象的初始化代码与引用赋值代码进行重排序. 2.getInstance方法,最外层要加if (instance ...
- Linux中环境变量文件profile、bashrc、bash_profile之间的区别和联系
/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置. 英文描述为: # /etc/pr ...
- 终极之战:Linux & Windows
1.开源 当你买了一辆车,但你看不到引擎盖下面是什么?当你使用Windows驱动系统时就是如此.但是,相比之下,Linux完全是一个开源项目.你可以看看Linux操作系统的源代码,这是一个优点.Lin ...
- ValueError: day is out of range for month
日期超出范围. 我当时使用datetime模块生成时间格式数据,手误传错参数导致的结果.所以,好好检查数据就可解决问题. 如下: # 将字符串类型数据转化成时间结构数据# 原想写成如下代码import ...
- dedecms织梦做中英文(多语言)网站步骤详解
用dedecms织梦程序如何做中英文网站,下面是一个详细的图文教程,希望能帮助到大家. 以下是用dedecms织梦程序制作过的一个5国语言网站,下面开始教程. 一.首先在后台建栏目,有三点需要注意 1 ...
- loj2318 「NOIP2017」宝藏[状压DP]
附带其他做法参考:随机化(模拟退火.爬山等等等)配合搜索剪枝食用. 首先题意相当于在图上找一颗生成树并确定根,使得每个点与父亲的连边的权乘以各自深度的总和最小.即$\sum\limits_{i}dep ...
- HDU6739 2019CCPC秦皇岛赛区 I. Invoker
题目:http://acm.hdu.edu.cn/showproblem.php?pid=6739思路:暴力dp 一个special skill最多有6种排列组合 ...
- 搭建web服务器---Apache服务器
一.安装Apache 尽管xampp appserv等提供了方便的集成环境,但实际上部署环境还是下载单独安装的Apache,以避免那些安全问题 二.加载php解析模块,并指定模块处理文件的类型 编辑h ...
- 【NOIP2017提高A组模拟9.5】心灵治愈
题目 好吧,我表示比赛时完全看不懂题目 题目解释 良心的出题人为一道两三句可以讲清楚的题目,又写了一大坨恶心的解释. 容斥 其实题目就是有个数组a[1~n+1],已知a[n+1]=m,1<=a[ ...
- QT:如何重新生成makefile文件