来自python的javascript可读json
我的视图计算一个json并输出一个来自python的javascript可读json,javascript,python,django,json,Javascript,Python,Django,Json,我的视图计算一个json并输出一个json.dumps(),我将其作为字典键数据传递。我试图将其传递给模板中的脚本元素,但在呈现时,浏览器将其作为python转义字符串{“nodes”:[{“count”:,javascript无法读取。我需要的是python将其作为JS转义字符串发送,类似于{“nodes”:[{“count”:。 我尝试了str(data)和eval(data),但没有成功。基本上,我需要python将字符串发送到控制台,就像它正在打印一样。谢谢这对我来说很有效: retur
json.dumps()
,我将其作为字典键数据传递。我试图将其传递给模板中的脚本元素,但在呈现时,浏览器将其作为python转义字符串{“nodes”:[{“count”:
,javascript无法读取。我需要的是python将其作为JS转义字符串发送,类似于{“nodes”:[{“count”:
。
我尝试了str(data)
和eval(data)
,但没有成功。基本上,我需要python将字符串发送到控制台,就像它正在打印一样。谢谢这对我来说很有效:
return HttpResponse(json.dumps({'foo' : 'bar'}, ensure_ascii=False),
mimetype='application/json')
如果我理解的很好,您希望在模板中使用json。
为了做到这一点,您必须禁用转义,例如这样的例子
{% autoescape off %}
var x={{json_var}}
{% endautoescape %}
请注意,不要使用
{% autoescape off %}
{{ my_json }}
{% endautoescape %}
您可以简单地使用过滤器:
{{ my_json|safe }}
这个问题对您有帮助吗?我相信如果您将其呈现到HTML模板中,并且此HTML模板将使用mime类型“text/HTML”(或其变体)发送到浏览器中然后浏览器将转义引号之类的内容,因此我认为这实际上取决于发送到浏览器的mime类型。我在发送简单的HttpResponse时使用类似的方法,但在这种情况下,我必须呈现template.Np。很高兴答案很简单。