如何使用Django列表作为Django模板中的javascript变量

How to use Django list as a javascript variable in Django template?

本文关键字:Django javascript 变量 何使用 列表      更新时间:2024-01-09

我有一个名为list_a:的Django列表

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

我在Django模板中使用Google Chart API。我必须将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等效于硬编码,这样我就可以轻松地获得所需的图表。

除此之外,当我尝试直接使用时,为什么会出现这种&#39

我正在使用此https://google-developers.appspot.com/chart/interactive/docs/gallery/combochart谷歌图表样本

将其编码为JSON,标记为安全,然后打印出来。

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

不幸的是,您需要编写或查找json过滤器,或者在视图中将其编码为JSON。