我有一个名为 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
相当于硬编码,以便我可以轻松获得所需的图表。
除此之外,为什么当我尝试直接使用它时会发生这个'
我正在使用这个https://google-developers.appspot.com/chart/interactive/docs/gallery/combochart Google 图表示例
最佳答案
将其编码为 JSON,将其标记为安全,然后将其打印出来。
var data = google.visualization.arrayToDataTable({{ list_a|json|safe }})
不幸的是,您需要编写或查找 json
过滤器,或者在 View 中将其编码为 JSON。
关于javascript - 如何在 Django 模板中使用 Django 列表作为 javascript 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11620224/