Flask-Bootstrap render_pagination()未更改为活动页面[重复]

Posted

技术标签:

【中文标题】Flask-Bootstrap render_pagination()未更改为活动页面[重复]【英文标题】:Flask-Bootstrap render_pagination() not changing to active page [duplicate] 【发布时间】:2018-02-11 10:36:10 【问题描述】:

我正在使用 Flask-Bootstrap 的 render_pagination 宏。当我单击页码时,它会将 URL 更改为具有page=2,但是当页面重新呈现时,结果和页面仍然是第 1 页。使用render_pagination 时如何更改页面和结果?

@app.route('/results')
def results(filename, page=1):
    logs = Logs.query.paginate(page)
    return render_template('results.html', logs=logs)
% from "bootstrap/pagination.html" import render_pagination %

% for log in logs.items %
     log 
% endfor %

 render_pagination(logs) 

【问题讨论】:

【参考方案1】:

Flask-Bootstrap 只处理前端,需要在后端实现分页。它在更改page 查询参数时呈现指向当前视图的链接。您需要从视图中的request.args 访问此参数,并在对查询进行分页时使用它,方法是将其传递给query.paginate

from flask import request

@app.route('/results')
def results():
    page = request.args.get('page', 1)
    query_results = Episodes.query.paginate(page=page)
    return render_template('results.html', query_results=query_results)

【讨论】:

以上是关于Flask-Bootstrap render_pagination()未更改为活动页面[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Flask实战-留言板-使用Bootstrap-Flask简化页面编写

表单提交

flask 学习(二)

Flask 的扩展

Anaconda 创建环境

Flask 框架集成Bootstrap