如何在 HTML 内的 Flask 中从会话中恢复数据?

问题描述 投票:0回答:1

我有一个 Flask 项目,当用户登录时,如果他有“mesa”访问权限,我会保存一个值:

session['user_name'] = user.name

这个变量存储0或1。然后,在我的应用程序的侧边栏菜单上,如果mesa等于1,则用户可以访问某些页面。碰巧在每条路径中我都必须调用它并传递到页面:

@app.route('/newclient', methods=["GET", "POST"])
def newclient():
 [...]
 mesa = session.get('mesa')
 return render_template("newclient.html", ..., mesa=mesa)

我正在使用“base.html”在模板上调用

{% extends "base.html" %}
,并且此侧边栏菜单位于“base.html”文件上。随着我的路线数量不断增加,这变得越来越难以追踪。有没有更简单的方法来存储和恢复这个值?

html flask
1个回答
0
投票

您可以使用 context_processor https://flask.palletsprojects.com/en/3.0.x/templatating/#context-processors 自动将变量注入到模板的上下文中。

@app.context_processor
def inject_mesa():
    return {"mesa": session.get('mesa')}
© www.soinside.com 2019 - 2024. All rights reserved.