我正忙于分析各种数据(主要使用 pandas)然后使用 Google 图表显示结果的 Django 应用。
我无法找到从 django view.py 传递数据的最佳方法,这些数据通常位于 Pandas 数据框或字典中,然后用于模板文件(使用 javascript 制作谷歌图表) .
下面是一些代码,显示了用于显示其中一个图表的 javascript 函数。在这个例子中,我将数据硬编码到图表中(即:年份和销售额是手动输入的)。然而,需要做的是改为使用来自 pandas 数据框的数据。
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>
关于javascript - 从 Django 到 Javascript 的 Python 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26698929/