gpt4 book ai didi

Python Flask SQLAlchemy 分页

转载 作者:太空狗 更新时间:2023-10-29 17:55:46 27 4
gpt4 key购买 nike

我在使用 Flask-SQLAlchemy 或 Flask-Pagination 实现分页时遇到问题,或者。我不确定如何初始化分页、设置页面、确定页面、offest 等。我来自 PHP,对 Python 很陌生。

我正在查询我数据库中的所有帖子

posts = Posts.query.order_by(Posts.time.desc()).all()

我一直在看下面的例子:

我真的不知道该怎么做,我发现的信息在文章之间有很大的不同。这让我感到困惑,不知道从哪里开始。我想查询数据库表的所有行,将结果限制为 20 并分页。我没看清楚。

最佳答案

我推荐使用 Flask-SQLAlchemy 的分页:http://flask-sqlalchemy.pocoo.org/2.1/api/?highlight=pagination#flask.ext.sqlalchemy.Pagination

这里有一个写得很好的例子:https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-ix-pagination

这是 View 的基本思想:

@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)

然后是模板(我不知道你的帖子模型所以我做了一些东西):

<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>

关于Python Flask SQLAlchemy 分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43103585/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com