0

我有一个名为list_a Django的清单:在我的Django的模板如何在Django模板中使用Django列表作为javascript变量?

[['Host Name', 'No. of Events'], [u'12.23.21.23', 0], [u'2.152.0.2', 2]] 

我使用Google Chart API。我不得不PAAS list_a以下的Java脚本变量:

var data = google.visualization.arrayToDataTable([ 
    ['Host_name', 'No of events'], 
    ['12.23.21.23', 0], 
    ['2.152.0.2', 2] 
    ]); 

上面一个是硬编码的,但我想通过以下方式使用:

var data = google.visualization.arrayToDataTable({{list_a}}); 

我试着用上面的代码和使用chrome中提供的javascript console选项进行检查。它表明这一点:

var data = google.visualization.arrayToDataTable([['Host Name', 'No. of Events'], [u'12.23.21.23', 0], [u'2.152.0.2', 2]]); 

我用硬编码的码本以上线相比,这是非常不同的,因为下面的方法:

' 
['12.23.21.23', 0] See the quotes on ip address field but not to the next field 

我应该怎么做等同于硬编码的list_a ,以便我可以轻松获得所需的图表。

除了为什么当我试图用它直接

我使用谷歌图表

回答

4

编码它作为JSON的这个https://google-developers.appspot.com/chart/interactive/docs/gallery/combochart样品,标志着它的安全,并打印出来这个&#39发生。

var data = google.visualization.arrayToDataTable({{ list_a|json|safe }}) 

不幸的是,你需要编写或找到json过滤器,或在视图中进行编码为JSON。

+0

@Hamish:字符串前面的“u”是无效的JavaScript。 – 2012-07-23 21:38:57

+0

json过滤器在这里编码:http://djangosnippets.org/snippets/201/ – Goin 2012-07-23 23:13:50