javascript - 如何在 Django 模板中使用 Django 列表作为 javascript 变量?

标签 javascript python django django-templates google-visualization

我有一个名为 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/

相关文章:

python - 如何使用测试客户端和 post 方法使用 ModelChoiceField 测试 Django 表单

python - 如何在可重用的 Django 应用程序中建模外键?

javascript - 寻找一种更有效的方式来编写这个 jquery 菜单

python - Numpy 数组对所有元素进行排序

python - 从列表中获取数据

python - 如何使用 kivy 从 def 中的其他类访问变量?

javascript - GraphQL:从对象构建查询参数

javascript - 如何将带有 require 语句的本地脚本注入(inject) Puppeteer 页面

javascript - 在 javascript 和 SyntaxError 中按字符串函数

javascript - 如何在 django 上动态更改 block 的内容?