我尝试使用vis.js库(http://visjs.org/)和django(基本的 - http://visjs.org/examples/network/basicUsage.html)创建网络。 我需要将指定网络节点的数据从django传递给javascript。 这是我的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 = 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。我该如何解决这个问题?谢谢。
答案 0 :(得分:1)
尝试以下方法:
var n = `{{ nodes|safe }}`;
var nodes = new vis.DataSet(n);
在将数据传递到jQuery.parseJSON()
之前,您可能需要或不需要在数据周围添加vis.DataSet
。我不能肯定地说,因为我从未使用http://visjs.org/。