我的蓝图烧瓶应用程序周围的许多路线都需要向 jinja 发送“侧边栏数据”。
我正在寻找最有效的方法来做到这一点。他们必须比将我的“generate_sidebar_data()”函数导入每个蓝图更好,反复说:
var1, var2, var3 = generate_sidebar_data()
然后用'render_template'发送它们:
return render_template('template.html',
var1=var1,
var2=var2,
var3=var3
)
我想要的是一个装饰器,我可以把它放在与上面做同样的事情的路线上(运行函数并将变量发送到 jinja),但我不知道这是否可能。如何从装饰器函数内部将变量发送到 jinja?
@blueprint.route('/')
@include_sidebar_data
def frontpage():
return render_template('template.html')