我有一些这样的代码。
def foobar():
foo = [" 1", " 2", " 3"]
context['json'] = json.dumps(foo)
print context['json']
return render_to_string('template', context)
我得到的是我认为正确的打印在终端上的...
[" 1", " 2", " 3"]
但是然后在我的JavaScript控制台中,我得到了错误 (index):59 Uncaught SyntaxError: Unexpected token ;
当我去那里的时候,我看到了...
[\u0022 1\u0022, \u0022 2\u0022, \u0022 3\u0022]
因此,我可以看到它正在某处转向unicode,然后没有被转换回去,而是IDK怎么做。
在我的模板中(在<script>
标签中),我正在这样做:
var data = {
labels: {{ labels|escapejs }}
datasets: []
}
由于您尝试通过django模板将数组的json表示形式传递给JavaScript,因此不应该使用escapejs!应该是
labels: {{ labels }}
请注意,在您的视图中,您使用的是变量名,json
而在模板中,您使用的是labels
。我认为这是一个错字
如果您在报价方面遇到麻烦,
{% autoescape off %}{{ labels }}{% endautoescape %}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句