Javascript Django与谷歌图表
我试图在我的页面上显示google图表,但我不知道如何将值从django视图传递到javascript,以便绘制图表 Django代码:Javascript Django与谷歌图表,javascript,python,django,google-visualization,Javascript,Python,Django,Google Visualization,我试图在我的页面上显示google图表,但我不知道如何将值从django视图传递到javascript,以便绘制图表 Django代码: array = ([ ['Year', 'Sales', 'Expenses'], ['2004', 1000, 400], ['2005', 1170, 460], ['2006', 660, 1120], ['2007', 1030, 540]
array = ([
['Year', 'Sales', 'Expenses'],
['2004', 1000, 400],
['2005', 1170, 460],
['2006', 660, 1120],
['2007', 1030, 540]
]);
args['array']= array
return render_to_response('progress.html',args)
progres.html:
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("visualization", "1", {packages:["corechart"]});
google.setOnLoadCallback(drawChart);
function drawChart() {
var djangoData = '{{array}}';
var data = google.visualization.arrayToDataTable(djangoData);
var options = {
title: 'Company Performance'
};
var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
chart.draw(data, options);
}
</script>
load(“可视化”、“1”、{packages:[“corechart”]});
setOnLoadCallback(drawChart);
函数绘图图(){
var djangoData='{{array}}}';
var data=google.visualization.arrayToDataTable(djangoData);
变量选项={
标题:“公司业绩”
};
var chart=new google.visualization.LineChart(document.getElementById('chart_div'));
图表绘制(数据、选项);
}
这样,图表就不会显示。有什么建议吗 google.visualization.arrayToDataTable()似乎采用2D(javascript)数组。你传递的是一根线。您需要将其解析为一个数组。尝试:
var djangoData = JSON.parse('{{ array }}');
var data = google.visualization.arrayToDataTable(djangoData);
在您的视图中: 删除此行
args['array']=array
将此行return render\u to\u response('progress.html',args)
更改为return render\u to\u response('progress.html',{'array':json.dumps(array)})
在您的模板中:
更改此行var djangoData='{{array}}'代码>到var djangoData='{{array | safe}}}'代码>
代码的其余部分很好。我希望这能有所帮助。对我来说,这种组合很有效:
查看:
from django.shortcuts import render
import json
(...)
context= {'array': json.dumps(array)}
return render(request,'progress.html',context)
var djangoData = JSON.parse('{{ array | safe }}';);
模板:
from django.shortcuts import render
import json
(...)
context= {'array': json.dumps(array)}
return render(request,'progress.html',context)
var djangoData = JSON.parse('{{ array | safe }}';);