9

我的视图计算一个 json 并输出 a json.dumps(),我将它作为字典 key 传递data。我试图将它传递给我的模板中的脚本元素,但是在渲染时,浏览器将它作为一个 Python 转义字符串获取,该字符串{"nodes": [{"count":......对于 javascript 是不可读的。我需要的是 python 将其作为 JS 转义字符串发送,类似于 this {"nodes": [{"count":......。我试过了str(data)eval(data)但没有成功。基本上我需要 python 来发送字符串,就好像它正在将它打印到控制台一样。谢谢

4

3 回答 3

15

如果我理解得很好,您想在模板中使用 json。为此,您必须禁用转义,例如这样。

{% autoescape off %}
var x={{json_var}}
{% endautoescape %}
于 2012-07-19T20:04:26.103 回答
12

请注意,而不是使用

{% autoescape off %}
    {{ my_json }}
{% endautoescape %}

您可以简单地使用过滤器:

{{ my_json|safe }}
于 2012-07-19T21:06:20.763 回答
1

这对我有用:

return HttpResponse(json.dumps({'foo' : 'bar'}, ensure_ascii=False),
    mimetype='application/json')
于 2012-07-19T19:58:25.773 回答