python - 烧瓶分页查询示例?
问题描述
我在这里关注烧瓶分页教程: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,如果您能帮助我为此构建一个逻辑查询,我将不胜感激。
解决方案
这是一个示例代码,每页返回 4 个项目,当前页码为 1。片段上使用的 Pagination 类是自定义的,FLask-SQLAlchemy 的 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)
推荐阅读
- php - Laravel Excel 导入“模型”函数没有被调用
- jquery - Ajax.click 网站上的功能按钮没有做任何事情
- mysql - 使用 SQL 查询从表中选择数据
- javascript - 如何将 jquery 代码更改为 javascript 或 typescript
- c++ - 如何将边界框与 groupRectangle 合并?
- python - DjangoProject 没有出现在我的 Docker-Image 中(适用于 Windows 主页的 Docker 工具箱)
- java - JavaFX 媒体播放器只播放一秒钟的 MP3
- c++ - 如何获得插值极坐标?
- django-rest-framework - Django REST外键问题
- excel - 根据姓名和姓氏自动生成 ID