[英]Python data from Django to Javascript
我正忙于Django应用程序,该应用程序分析各种数据(主要使用熊猫),然后使用Google图表显示结果。
我在找出最好的方式从django view.py中传递我的数据时遇到麻烦,该视图通常在Pandas数据框或dict中通过,以便在模板文件中使用(使用javascript用于google图表)。
这是一些代码,显示了用于显示图表之一的javascript函数。 在此示例中,我已将数据硬编码到图表中(即:年和销售额已手动输入)。 但是,需要做的是改为使用熊猫数据框中的数据。
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Year', 'Sales'],
['2004', 1000],
['2005', 1170],
['2006', 660],
['2007', 1030]
]);
var options = {
title: 'Company Performance',
hAxis: {title: 'Year', titleTextStyle: {color: 'red'}}
};
var chart = new google.visualization.ColumnChart(document.getElementById('chart_div'));
chart.draw(data, options);
}
使用Django模板语言{{var}}可以很容易地传递单个变量甚至列表。 但是,我不能完全确定如何在JavaScript函数中使用更复杂的数据帧,字典等。
非常感谢。
这是你想要的吗?
views.py:
import json
def some_view_func(request):
data = [
['Year', 'Sales'],
['2004', 1000],
['2005', 1170],
['2006', 660],
['2007', 1030]
]
render(request, 'template.html', {'data': json.dumps(data)})
template.html :
<script>
var data = google.visualization.arrayToDataTable(JSON.parse({{data}}));
</script>
这是实现我认为想要的方式
def view_func(request):
data =pd.DataFrame(np.random.randn(20, 5))
render(request, 'template.html', {'data': data.to_html()})
有关CSS样式和其他内容的更多详细信息,请参见文档 。
还可以在模板中将数据实现为“安全”,如下所示:
{{ data | safe }}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.