Solución:
Recomiendo usar la paginación de Flask-SQLAlchemy: http://flask-sqlalchemy.pocoo.org/2.1/api/?highlight=pagination#flask.ext.sqlalchemy.Pagination
Aquí hay un ejemplo bien escrito: https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-ix-pagination
Aquí está la idea básica para la vista:
@app.route('/myview/<int:page>',methods=['GET'])
def view(page=1):
per_page = 10
posts = Posts.query.order_by(Posts.time.desc()).paginate(page,per_page,error_out=False)
return render_template('view.html',posts=posts)
Y luego para la plantilla (no conozco su modelo de publicaciones, así que inventé algo):
<html>
<head>
Posts
</head>
<body>
{% for post in posts.items %}
<p>
{{ post.post_name }} post body: <b>{{ post.body }}</b>
</p>
{% endfor %}
{% if posts.has_prev %}<a href="https://foroayuda.es/{{ url_for("view', page=posts.prev_num) }}"><< Newer posts</a>{% else %}<< Newer posts{% endif %} |
{% if posts.has_next %}<a href="https://foroayuda.es/{{ url_for("view', page=posts.next_num) }}">Older posts >></a>{% else %}Older posts >>{% endif %}
</body>
</html>
Controlador
@app.route("https://foroayuda.es/", methods=['GET'], defaults={"page": 1})
@app.route('/<int:page>', methods=['GET'])
def index(page):
page = page
per_page = 2
users = User.query.paginate(page,per_page,error_out=False)
# print("Result......", users)
return render_template("index.html", users=users)
en la vista
{% for user in users.items %}
<h1> {{ user.name }} </h1>
{% endfor %}
<nav aria-label="Page navigation example">
<ul class="pagination">
{% if users.has_prev %}
<li class="page-item"> <a class="page-link" href="https://foroayuda.es/{{ url_for("index', page=users.prev_num) }}">Previous</a></li>
{% else %}
<li class="page-item"><a class="page-link btn disabled" href="#">Previous</a></li>
{% endif %}
{% if users.has_next %}
<li class="page-item"> <a class="page-link" href="https://foroayuda.es/{{ url_for("index', page=users.next_num) }}">Next</a></li>
{% else %}
<li class="page-item"><a class="page-link btn disabled" href="#">Next</a></li>
{% endif %}
</ul>
</nav>
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)