分页路线示例与 Flask sqlalchemy Paginate

在此示例中,我们使用路径中的参数来指定页码。我们在函数参数 page=1 中设置了默认值 1。我们在数据库中有一个 User 对象,我们查询它,按降序排序,首先显示最新用户。然后我们在 flask- sqlalchemy 中使用 query 对象的 paginate 方法。然后我们将其传递给 render_template 进行渲染。

@app.route('/users')
@app.route('/users/page/<int:page>')
def all_users(page=1):
    try:
        users_list = User.query.order_by(
            User.id.desc()
        ).paginate(page, per_page=USERS_PER_PAGE)
    except OperationalError:
        flash("No users in the database.")
        users_list = None

    return render_template(
        'users.html',
        users_list=users_list,
        form=form
    )