我有一个简单的代码:
products_list: list = [{"product_name": "product #1"}, {"product_name": "product #2"}]
return render_template('index.html', data=json.dumps(products_list))
我的索引模板:
<body>
<script>
console.log({{ data }});
</script>
</body>
但在页面上我得到了带有&34、#1&34个字符。
console.log([{"product_name": "product #1"}, {"product_name": "product #2"}]);
为什么会发生这种情况?
这里的问题是flask通过用"
替换JSON中的引号来转义它们。您可以通过将|safe
筛选器添加到模板中来禁用此功能。
所以你的HTML将是:
<body>
<script>
console.log({{ data|safe }});
</script>
</body>
相关问题