FlaskSQLAlchemy中的Pagination类型对象

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")``
posted @   日月既往、不复可追。  阅读(259)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
Fork me on GitHub /*音乐*/ 1 2 3
4
点击右上角即可分享
微信分享提示