如何在Jinja模板中导入和调用Python函数?

7

我希望在Flask应用程序的Jinja模板中使用来自Python模块的函数。我该如何导入该模块或将函数传递给模板,以便我可以使用它?


4
我来到这里时有完全相同的问题。对我来说,原帖似乎非常清晰和用语得当。答案也很有用,所以我投票支持重新开放,并将更新标题。 - fearless_fool
1个回答

15

第一种方法。如果您只想将函数传递给一个模板,可以将函数作为变量传递到模板中。例如:

首选方案。如果您只想将函数传递给一个模板,可以将函数作为变量传递到模板中。例如:

render_template("index.html", func=f)

然后在模板中调用它,{{ func(1) }}

如果您希望在所有模板(全局)中均可访问函数或变量。您可以在 Flask 应用程序初始化期间将它们添加到 app.jinja_env.globals 字典中,例如:app.jinja_env.globals['func'] = f


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接