json.dumps在flask视图中返回无效的json



我有一个简单的代码:

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([{&#34;product_name&#34;: &#34;product #1&#34;}, {&#34;product_name&#34;: &#34;product #2&#34;}]);

为什么会发生这种情况?

这里的问题是flask通过用&#34;替换JSON中的引号来转义它们。您可以通过将|safe筛选器添加到模板中来禁用此功能。

所以你的HTML将是:

<body>
<script>
console.log({{ data|safe }});
</script>
</body>

相关问题

最新更新