首页 > 数据库 >FlaskSQLAlchemy中的Pagination类型对象

FlaskSQLAlchemy中的Pagination类型对象

时间:2024-01-16 20:46:31浏览次数:32  
标签:Pagination FlaskSQLAlchemy 对象 当前页 paginate per 一页 page

FlaskSQLAlchemy中的Pagination类型对象。一个Query对象调用paginate方法就获得了Pagination对象。paginate方法传入了两个参数,一个是当前页,另一个是每一页最多显示多少博客。paginate的返回值为代表当前页的Pagination对象。一个Paginationi对象的常用属性有:

items 当前页面中的所有记录(比如当前页上有5条记录,items就是以列表形式组织这5个记录)
query 当前页的query对象(通过query对象调用paginate方法获得的Pagination对象)
page 当前页码(比如当前页是第5页,返回5)
prev_num 上一页页码
next_num 下一页页码
has_next 是否有下一页 True/False
has_prev 是否有上一页 True/False
pages 查询得到的总页数 per_page 每页显示的记录条数
total 总的记录条数
常用方法有:
prev() 上一页的分页对象Pagination
next() 下一页的分页对象Pagination
iter_pages(left_edge=2,left_current=2,right_current=5,right_edge=2)
iter_pages 用来获得针对当前页的应显示的分页页码列表。
假设当前共有100页,当前页为50页,按照默认的参数设置调用iter_pages获得的列表为:
[1,2,None,48,49,50,51,52,53,54,55,None,99,100]

`` #自动分页
@bule.route("/paginate/")
def get_paginate():
page = int(request.args.get('page',1))
per_page = int(request.args.get('per_page', 5))
# print(page,type(page))
# print(per_page, type(per_page))

# items当前页面中的所有记录(比如当前页上有5条记录,items就是以列表形式组织这5个记录)
# query当前页的query对象(通过query对象调用paginate方法获得的Pagination对象)
# page当前页码(比如当前页是第5页,返回5)
# prev_num上一页页码
# next_num下一页页码
# has_next是否有下一页True / False
# has_prev是否有上一页True / False
# pages查询得到的总页数
# per_page每页显示的记录条数
# total总的记录条数


p = User.query.paginate(page=page,per_page=per_page,error_out=False)
#items:返回当前页的内容列表
print(p.items)
#has_next是否还有下一页
print(p.has_next)
# has_prev是否还有上一页
return render_template("paginate.html")``

标签:Pagination,FlaskSQLAlchemy,对象,当前页,paginate,per,一页,page
From: https://www.cnblogs.com/ZYL212003180/p/17968498

相关文章

  • 预初始化对象(OnPreInit)
    原文链接:https://www.cnblogs.com/mimengjiangnan/archive/2007/11/03/947912.html 实现功能:动态控制网站程序中服务器控件的外观。实现步骤:一在网站根目录下创建文件夹:App_Themes。这个文件夹名字不能改成别的。二在App_Themes文件夹下创建子文件夹(主题),这个子文件夹名称就......
  • 【论文笔记#2】Farseg++:用于高空间分辨率遥感图像地理空间对象分割的前景感知关系网络
    论文来源IEEETransactionsonPatternAnalysisandMachineIntelligence作者ZhuoZheng;YanfeiZhong;JunjueWang等发表年代2023使用方法多分支金字塔编码、前景-场景关系、前景感知解码、前景感知优化期刊层次CCFA;计算机科学1区;IF23.6原文链接......
  • springboot第48集:【思维导图】地图,面向对象,异常,功能代码
    在SpringBoot中,可以通过编写拦截器(Interceptor)来对请求进行拦截与处理。下面是一个简单的拦截器实现示例:创建一个类并实现HandlerInterceptor接口publicclassAuthInterceptorimplementsHandlerInterceptor{@OverridepublicbooleanpreHandle(HttpServletRequest......
  • MFC---多线程(基本概念和线程同步之互斥对象)
    基本概念引入一个题目:Bingo老师提了一个需求:打印每隔3秒叫martin老师做一次俯卧撑持续20次每隔1秒钟叫rock老师甩头发持续50次每隔2秒钟叫西西老师唱歌持续40次线程(CPU调度和分派的基本单位)线程是在进程中产生的一个执行单元,是CPU调度和分配的最小单元,其在同一个进程中与......
  • 使用s3cmd工具访问对象存储
      近两天在测试某cloud的对象存储,使用客户端s3cmd工具在centos下部署。部署过程和常用功能如下:某cloud的对象存储下载和安装下载地址:https://s3tools.org/download   本次使用的是s3cmd-2.4.0.tar.gz文件。安装先解决依赖关系---- yuminstallpython-dateutil,否则会提示......
  • 9类和对象与this指针
    类和对象,this面向对象的四大特性:抽象,封装/隐藏,继承,多态属性一般都是私有的,向外提供公有方法以访问私有属性。类本身不占内存,实例化对象占内存。类体内定义的成员函数默认为内联,体外定义需要加inline修饰。一个类可以定义无数的对象,每一个对象都有自己的成员变量,成员函数是公......
  • 《工作流篇》activiti的表、对象、接口
    表参考链接:https://www.cnblogs.com/imsoft/p/Activity.html参考链接:https://blog.csdn.net/weixin_42617164/article/details/127638003参考链接:https://blog.csdn.net/lp2388163/article/details/98206450参考链接:https://blog.csdn.net/qq_35133320/article/details/825333......
  • js对象属性名表达式
    let propKey='foo'; let obj={  [propKey]:true,  ['a' +'bc']:123};通过先定义变量,在字面量对象中添加属性时,属性名为变量时加上中括号包裹,也可以为表达式来表示......
  • c# csharp 对象序列化
    对象序列化要将一个序列化对象存储起来,您可以使用C#中的序列化和反序列化功能。以下是一个示例代码,它演示了如何将一个序列化对象存储到文件中:usingSystem;usingSystem.IO;usingSystem.Runtime.Serialization.Formatters.Binary;namespaceMyNamespace{[Serializab......
  • Day50 简单小结:类与对象
    简单小结:类与对象1.类与对象类是一个模板:抽象对象是一个具体的实例2.方法定义,调用!3.对象的引用引用类型:基本类型(8)对象是通过引用来操作的:栈---->堆4.属性:字段Filed成员变量默认初始化:数字:00.0c......