烧瓶分页查询样本?

时间:2018-09-30 16:52:56

标签: python python-3.x postgresql flask

我正在此处进行烧瓶分页教程:http://flask.pocoo.org/snippets/44/

我对这段代码感到困惑:

from flask import redirect

PER_PAGE = 20

@app.route('/users/', defaults={'page': 1})
@app.route('/users/page/<int:page>')
def show_users(page):
    count = count_all_users()
    users = get_users_for_page(page, PER_PAGE, count)
    if not users and page != 1:
        abort(404)
    pagination = Pagination(page, PER_PAGE, count)
    return render_template('users.html',
        pagination=pagination,
        users=users
    )

正如您在下面看到的,count是一个函数count_all_users(),我应该查询users表的所有行的计数吗? 并且下面是变量用户,我只是没有得到此代码:

users = get_users_for_page(page, PER_PAGE, count)

我该如何执行查询?周围有样品吗?我只是很难找到一个。我使用的是postgresql,如果您能帮助我为此构建一个逻辑查询,我将不胜感激。

1 个答案:

答案 0 :(得分:0)

这是一个示例代码,每页返回4个项目,当前页码为1。代码段中使用的分页类是自定义的,FLask-SQLAlchemy's Pagination更好。

@app.route('/result', methods=['GET', 'POST'])
def result():
    results = Foo.query.paginate(per_page=4, error_out=True, page=1)
    return render_template('results.html', results=results)