将数据从django视图传递到javascript

时间:2015-11-15 11:14:51

标签: javascript python django

我尝试使用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。我该如何解决这个问题?谢谢。

1 个答案:

答案 0 :(得分:1)

尝试以下方法:

 var n = `{{ nodes|safe }}`;
 var nodes = new vis.DataSet(n);

在将数据传递到jQuery.parseJSON()之前,您可能需要或不需要在数据周围添加vis.DataSet。我不能肯定地说,因为我从未使用http://visjs.org/