在Jinja2中插入字符串作为javascript是否正确?
我有一个带有Jinja2模板的烧瓶应用程序。我决定将所有字符串(我想在网页上显示的静态文本)从模板移动到单独的javascript文件中。这个文件加载在layout.html中,我正在插入字符串作为在Jinja2中插入字符串作为javascript是否正确?,javascript,python,string,jinja2,Javascript,Python,String,Jinja2,我有一个带有Jinja2模板的烧瓶应用程序。我决定将所有字符串(我想在网页上显示的静态文本)从模板移动到单独的javascript文件中。这个文件加载在layout.html中,我正在插入字符串作为 document.write(home\u call\u to\u action['card\u text') 如果我想让它们更具可读性,有没有更好的方法?(w/o) Mb类似于: {% set print = <script>document.write({{ text }});<
document.write(home\u call\u to\u action['card\u text')代码>
如果我想让它们更具可读性,有没有更好的方法?(w/o)
Mb类似于:
{% set print = <script>document.write({{ text }});</script> %}
<b>{{ print.home_call_to_action['card_text'] }}<b>
{%set print=document.write({{text}});%}
{{print.home_call_to_action['card_text']}
如果可以以某种方式将一个变量传递给另一个变量/将脚本作为字符串插入会起作用,但这不是“正确”的方法。
您应该做的是将所有脚本放在静态目录中,并使用
<script src="path/to/script" type="text/javascript"></script>
并确保
标记之间没有任何内容
编辑
我明白你想做什么了。要在模板中显示python字符串,你需要将它们作为参数传递给render_template()
函数。然后将字符串放在模板中的{}
标记中
您还应该检查这些字符串是什么?我想在网页上显示的静态文本静态文本不应该用javascript显示!使用document.write
也不是一个好主意。您是否在寻找类似于«Flask Babel»的内容?因此答案是:不,对静态文本使用javascript是不正确的。请使用模板ate引擎。这就是我准备好的。问题是如何显示它们?