1

我需要在 django 模板中的 javascript 中访问字典(country_stat)。我正在使用具有此 javascript 代码的谷歌图表 api。下面的代码运行良好并打印出一张整洁的地图。但是这些值是静态的。

function drawRegionsMap() {
  var data = google.visualization.arrayToDataTable([
    ['Country', 'Popularity'],
    ['Germany', 2],
    ['United States', 3],
    ['Brazil', 4],
    ['Canada', 5],
    ['France', 6],
    ['RU', 7]
  ]);

在内容块中打印 country_stat 是成功的。

{% for key, value in country_stat.items %}
{{key}}, {{value}}
{% endfor %}

印刷,

India, 2 Russia, 1 

但我不知道如何将其插入 javascript 代码中。

4

2 回答 2

6

要么通过 AJAX 请求数据,要么从模板中在 JavaScript 中下载文字 JSON - 在视图中设置上下文变量:

import simplejson as json
context['thingy_json'] = json.dumps(thingy)

然后将该变量包含在您的模板中:

<script>
    var data = {{ thingy_json }};
</script>
于 2012-05-12T10:54:00.533 回答
3

其实解决了。

  var data = google.visualization.arrayToDataTable([
    ['Country', 'Popularity'],
    {% for key, value in country_stat.items %}
    ['{{key}}', {{value}}],
    {% endfor %}
  ]);

问题很愚蠢 - 我错过了 {{key}} 周围的单引号

于 2012-05-12T11:00:20.297 回答