<p>我建议使用Flask SQLAlchemy的分页:<a href="http://flask-sqlalchemy.pocoo.org/2.1/api/?highlight=pagination#flask.ext.sqlalchemy.Pagination" rel="noreferrer">http://flask-sqlalchemy.pocoo.org/2.1/api/?highlight=pagination#flask.ext.sqlalchemy.Pagination</a></p>
<p>这里有一个写得很好的例子:<a href="https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-ix-pagination" rel="noreferrer">https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-ix-pagination</a></p>
<p>以下是视图的基本思想:</p>
<pre><code>@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)
</code></pre>
<p>然后对于模板(我不知道你的帖子模型,所以我编了一些东西):</p>
<pre><code><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="{{ url_for('view', page=posts.prev_num) }}">&lt;&lt; Newer posts</a>{% else %}&lt;&lt; Newer posts{% endif %} |
{% if posts.has_next %}<a href="{{ url_for('view', page=posts.next_num) }}">Older posts &gt;&gt;</a>{% else %}Older posts &gt;&gt;{% endif %}
</body>
</html>
</code></pre>