Flask+Bootstrap实现分页
在Flask
+Bootstrap
+SQLAlchemy
体系中实现分页过于简单,不过多赘述
1.后端
后端步骤:
- 获取请求的页码(页码参数不需要自己在前端写)
- 分页查询
- 返回数据
@bp.route('/')
def index(page=1):
page_index = request.args.get('page', 1, type=int) # 从请求中获取请求的页码
pagination = Post.query.order_by(Post.created.desc()).paginate(
page_index, per_page=10, error_out=False) # 分页查询
return render_template('blog/index.html', posts=pagination.items, pagination=pagination)
提示:
分页查询的结果列表通过pagination.items
获取
2.前端
后端查询结束后,将列表和pagination
返回到前端
前端步骤:
- 引入分页宏(注意,下面的例子中用的是
bootstrap5
,注意自己的版本) - 使用
render_pagination
方法,插入分页
<!-- 引入分页宏 -->
{% from "bootstrap5/pagination.html" import render_pagination %}
<!-- 插入分页 -->
{%if pagination%}
{{ render_pagination(pagination) }}
{%endif%}
效果如下:
有问题留言呀,球球了,撩我一下吧。。