我生成了一个变量 data
在 Django 中,格式如下:
data = [['100',10],['90',9],['80',8]]
我已经使用 render_to_response 将它传递给我的模板:
return render_to_response('template.html', {
'data': data,
},
context_instance=RequestContext(request))
在模板标题中,我调用了 Google Charts 以生成折线图:
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load('visualization', '1.0', {'packages':['corechart']});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = new google.visualization.DataTable();
data.addColumn('string', 'Number');
data.addColumn('number', 'Number/10');
data.addRows( {{ data }} );
var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
chart.draw(data, {width: 400, height: 240, title: "Numbers"});
}
</script>
当我这样做时,什么都不显示。如果我从
data
中去除字符串再试一次,图表出现,但显然没有 x 轴标签。我还尝试使用 arrayToDataTable 函数添加数据:
var data = google.visualization.arrayToDataTable([
['Number', 'Number/10'],
{% for datum in data %}
{{ datum }},
{% endfor %}],
false);
但这再次无法显示任何图表。
关于如何更改上述之一或尝试另一种方法来显示 x 轴标签的任何建议?
最佳答案
您必须禁用结果的自动转义。您可以通过添加安全过滤器来实现:
data.addRows( {{ data|safe }} );
或者
{% autoescape off %}
[...]
{{ data }}
[...]
{% endautoescape %}
我的建议是,如果您可以安装其他软件包,请使用以下包装器之一:
http://code.google.com/p/google-chartwrapper/
https://github.com/jacobian/django-googlecharts/
我还不能添加两个以上的链接,但另一个链接位于此处:code.google.com/p/django-graphs/
关于django - 使用 Django 显示 Google 图表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7424446/