flask中的分页器

paginate():  分页查询,返回一个分页对象

paginate(参数1, 参数2, 参数3) :

  参数1:当前是第几页(page)

  参数2:每页显示几条信息(per_page)

  参数3:error_out:error_out= False 的情况下不会抛出异常

      如果error_out = True 则下面几种情况会抛出404异常:找不到项目,并且page不是 page小于1,或者per_page为负数 page或per_page不是整数 page大于总页数;

@app.route('/booklist/', methods=['GET', 'POST'])
def book_list():
page = int(request.args.get('page', 1)) # 当前页数,request.args.get()方法获取页面的参数,如果没有获取到页码就默认为1
per_page = 3 # 每页数量
paginate = Book.query.paginate(page, per_page, error_out=False) # 创建分页器对象
return render_template('book_list_paginate.html', paginate= paginate)

属性:
items : 表示获得的查询结果
pages : 表示一共有多少页
page :获得当前页码数
total :数据总条数
has_prev: 是否有上一页
has_next: 是否有下一页
prev_num:上一页页码
next_num:下一页页码
iter_page():当前页的页码列表


<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>books</title>
</head>
<body>
<h2>书籍信息</h2>
{% for b in paginate.items %}
编号:{{ b.id }}
书名:{{ b.name }}
<br>
{% endfor %}
总页数:{{ paginate.pages }}
数据总条数:{{ paginate.total }}
当前页数:{{ paginate.page }}
<a href="/booklist/?page=1">首页</a>
{% if paginate.has_prev %}
<a href="/booklist/?page={{ paginate.prev_num }}">上一页</a>
{% endif %}
{% if paginate.has_next %}
<a href="/booklist/?page={{ paginate.next_num }}">下一页</a>
{% endif %}
<a href="/booklist/?page={{paginate.pages}}">尾页</a>
页码:
{% for i in paginate.iter_pages() %}
<a href="/booklist/?page={{ i }}">{{ i }}</a>
{% endfor %}
</body>
</html>


 

转载于:https://www.cnblogs.com/Jokerguigui/p/11531968.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值