Flask中实现分页

准备工作

先建一个表,往表里面插入一些数据

起步

后端代码:

@blue.route('/fenye')
def fenye():
page = int(request.args.get('page',1))
per_page = int(request.args.get('per_page',5))
paginator = Country.query.paginate(page,per_page,error_out=False)
return render_template('fenye.html',data=paginator)

前端代码:

{% extends 'bootstrap/base.html' %}

{% block body %}
<ul>
{% for i in data.items %}
<li>国家名为{{ i.name }}</li>
{% endfor %}
</ul>

<nav aria-label="Page navigation">
<ul class="pagination">
{% if data.has_prev %}
<li>
<a href="{{ url_for('wusir.fenye') }}?page={{ data.prev_num }}" aria-label="Previous">
<span aria-hidden="true">上一页</span>
</a>
</li>
{% else %}
<li>
<a href="{{ url_for('wusir.fenye') }}?page=1" aria-label="Previous">
<span aria-hidden="true">上一页</span>
</a>
</li>
{% endif %}

{% for i in data.iter_pages() %}
<li><a href="{{ url_for('wusir.fenye') }}?page={{ i }}">{{ i }}</a></li>
{% endfor %}

<li>
{% if data.has_next %}
<a href="{{ url_for('wusir.fenye') }}?page={{ data.next_num }}"
aria-label="Next">
<span aria-hidden="true">下一页</span>
</a>
{% else %}
<a href="{{ url_for('wusir.fenye') }}?page={{ data.pages }}"
aria-label="Next">
<span aria-hidden="true">下一页</span>
</a>
{% endif %}
</li>
</ul>
</nav>

{% endblock %}

分页器对象常用属性和方法

  • items 当前页面中的所有记录(比如当前页上有5条记录,items就是以列表形式组织这5个记录)
  • page 当前页码(比如当前页是第5页,返回5)
  • pages 总页码
  • prev_num 上一页页码
  • next_num 下一页页码
  • has_next 是否有下一页 True/False
  • has_prev 是否有上一页 True/False
  • iter_pages 用来获得分页页码列表。

 

转载于:https://www.cnblogs.com/wusir66/p/9989620.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值