使用Flask动态更改Javascript

时间:2016-03-30 14:33:18

标签: javascript python flask jinja2

我想在Flask应用程序的静态文件夹中动态更改JavaScript文件。

我知道Jinja2可以使用{{ var1 }}render_template(file.html, var1 = x)动态更改我的HTML文件,但我希望Flask能够访问HTML导入的脚本并更改它们,而不需要JavaScript在HTML模板中。

Flask是否支持此功能,或者我是否只需将我想要动态更改的JavaScript动态放入HTML文件并使用render_template

1 个答案:

答案 0 :(得分:1)

没有。您必须将JavaScript的动态部分移动到html文件中。

当Jinja2呈现模板文件时,唯一正在读取的文件是render_template指定的文件。在你的情况下是file.html。换句话说,flask只提供HTML。您的静态JS文件可能由flask提供,它不由模板引擎处理。

最干净的解决方案可能是调用init函数来初始化你想要从html设置的任何变量,如下所示:

<script type="text/javascript" src="/static/sripts/example.js" />
<script type="text/javascript">
    exampleInitFunction({{var1}});
</script>