将数据从django视图传递到javascript
我正在尝试使用vis.js库()和django(基本库-)创建一个网络。 我需要将指定网络节点的数据从django传递到javascript。 这是my views.py:将数据从django视图传递到javascript,javascript,python,django,Javascript,Python,Django,我正在尝试使用vis.js库()和django(基本库-)创建一个网络。 我需要将指定网络节点的数据从django传递到javascript。 这是my views.py: def create_network(request): r=[] for i in range(1,6): d={} d['id'] = i d['label'] = 'Node ' + str(i) r.append(d) data
def create_network(request):
r=[]
for i in range(1,6):
d={}
d['id'] = i
d['label'] = 'Node ' + str(i)
r.append(d)
data = json.dumps(r)
return render(request, 'network.html', {"nodes":data})
这是我的模板的相关部分:
n = {{ nodes }}
var nodes = new vis.DataSet(n);
当我运行此命令时,{{nodes}}将消失,它将变成:
n =
var nodes = new vis.DataSet(n);
我得到了意想不到的令牌错误。
我对Django和javascript比较陌生,如果这看起来像是elemenatary,那么很抱歉。我该如何解决这个问题?谢谢 尝试以下操作:
var n = `{{ nodes|safe }}`;
var nodes = new vis.DataSet(n);
在将数据传递到
vis.DataSet
之前,您可能需要也可能不需要在数据周围添加jQuery.parseJSON()
。我不能肯定,因为我从未使用过。它肯定会有用。。。尝试删除缓存并重新加载…正如@RajaSimon所说,如果模板network.html
与您提到的内容完全一致,那么您提到的代码就可以工作。尝试进一步简化您的示例并检查返回的html。此外,请尝试将节点
键重命名为其他项,以防它保留在模板引擎中。