【发布时间】:2014-05-28 19:49:06
【问题描述】:
我正在使用 Flask、SQLAlchemy 和 Jinja 创建一个应用程序。我的应用程序中几乎每个页面都使用base.html 文件(本质上是一个带有导航栏和侧边栏的外壳),然后在此基础上构建。我在base.html 文件中显示作为 SQLAlchemy 查询结果的信息:
user.company.users.filter(User.account_approved == False).all()
现在我通过以下方式将其传递给单个视图:
@splash.route('/dashboard')
@login_required
def dashboard():
return render_template('templates/dashboard.html', pendingUsers=g.user.company.users.filter(User.account_approved == False).all())
但是,这只允许base.html 视图在我加载/dashboard 路由时拥有此信息,并且如果我加载使用相同base.html 文件的任何其他路由,则运行{{ pendingUsers}} 不会输出文本。如何在使用base.html 的每条路由中呈现该查询?我尝试直接在 jinja 模板中进行查询,但我不知道该怎么做(例如,运行 {{ g.user.company.users }} 只是输出了该 SQLAlchemy 语句的 SQL 查询。
【问题讨论】:
标签: sqlalchemy flask jinja2 flask-sqlalchemy python-decorators