我正在尝试将视图中的一些词典传递给我模板中的javascript。
view.py
中的数据如下:
node_result = [{'y': 0.40750126710593004, 'x': 1}, {'y': 1.0, 'x': 0}, {'y': 0.10288900152052712, 'x': 0}]
edge_result = [{'source': {'y': 0.40750126710593004, 'x': 1}, 'target': {'y': 0.40750126710593004, 'x': 1}}]
在我的模板中,我以这种方式检索它:
var nodes = {{node_result}};
var links = {{edge_result}};
但是,当我使用浏览器检查javascript时出现此错误:
显然,撇号存在问题,那么如何传输字典呢?
注意:当我直接在javascript
中复制+粘贴词典时,这是有效的答案 0 :(得分:2)
您需要先将字典转换为JSON:
INVISIBLE
然后在你的模板中你应该关闭自动转义:
json.dumps(node_result))
你也可以这样做:
{% autoescape off %}
var nodes = {{node_result}};
var links = {{edge_result}};
{% endautoescape %}
文档https://docs.djangoproject.com/en/1.8/ref/templates/builtins/