使用Flask动态更改Javascript

使用Flask动态更改Javascript,javascript,python,flask,jinja2,Javascript,Python,Flask,Jinja2,我想动态更改Flask应用程序静态文件夹中的JavaScript文件 我知道Jinja2可以使用{{var1}和render_template(file.HTML,var1=x)动态更改我的HTML文件,但我希望Flask能够进入HTML导入的脚本并对其进行更改,而不必将JavaScript放在HTML模板中 Flask是否支持此功能,或者我是否只需要将要动态更改的JavaScript放入HTML文件并使用render\u template?否。您必须将JavaScript的动态部分移动到HTM

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

我知道Jinja2可以使用
{{var1}
render_template(file.HTML,var1=x)
动态更改我的HTML文件,但我希望Flask能够进入HTML导入的脚本并对其进行更改,而不必将JavaScript放在HTML模板中


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

否。您必须将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> 

exampleInitFunction({var1}});

是否要动态更改静态文件?这有点不对劲。但是jinja并不关心是否生成html或js文件。您必须为dynsmic js文件注册路由,然后才能像动态html文件一样为它们提供服务。