javascript - 使用 jinja2 将 Python 字符串转为 html javascript block

标签 javascript python html flask jinja2

我在将字符串传递到 html 页面时遇到问题。具体在“< script>” block 中。我使用 Python、Flask、Jinja2 ...

在 python 中我有这样的东西:

def foo():
  return myString #"[{title: 'Treino 7-Corrida',start: '2015-12-08',color: '#d00000',textColor: '#00c028'}]"

在 html 中我有这样的内容:

<html>
...
{{myString}} <!-- jinja2 -->
...
<script>
...
{{myString}}  <!-- jinja2 -->
...
</script>
</html>

查看源代码我有这个:

<html>
...
[{title: 'Treino 7-Corrida',start: '2015-12-08',color: '#d00000',textColor: '#00c028'}]
...
<script>
...
[{title: &#39;Treino 7-Corrida&#39;,start: &#39;2015-12-08&#39;,color: &#39;#d00000&#39;,textColor: &#39;#00c028&#39;}]
...
</script>
</html>

问题是:

我做了什么,脚本不替换代码 '?

最佳答案

由于变量被转义,所以 jinja2 自动转义对 html 启用。

您应该尝试safe过滤器:

Mark the value as safe which means that in an environment with automatic escaping enabled this variable will not be escaped.

因此将 html 编辑为以下内容:

{{ myString | safe }}

关于javascript - 使用 jinja2 将 Python 字符串转为 html javascript block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34156068/

相关文章:

php 代码应该将我的数据库中的内容打印到模板中

javascript - CoffeeScript 中的函数

python - 使用Python将Json数据转换为SQL表

javascript - 如何在jsPDF中使用自定义字体创建pdf?

python - 如何从包含在另一个列表中的项目中找到的单词的列表中删除项目

python - 无限打印在后台进行异步轮询

javascript - 如何使用 HTML 阻止图像

javascript - 在 div 中将文本换行在两行内

javascript - 使用宽度和高度将表格对齐到中心

javascript - "Add"删除行后按钮停止工作