flask-sqlalchemy-pagination.py
from flask import request, render_template
@bp.get("/posts")
def posts():
page = max(request.args.get("page", 1, type=int), 1)
pager = Post.query.order_by(Post.created_at.desc()).paginate(
page=page, per_page=20, error_out=False)
return render_template("posts.html", posts=pager.items, pager=pager)
# template:
# {% if pager.has_prev %}<a href="{{ url_for('main.posts', page=pager.prev_num) }}">Previous</a>{% endif %}
# {% if pager.has_next %}<a href="{{ url_for('main.posts', page=pager.next_num) }}">Next</a>{% endif %}