我试图让django从模型中提供CSV数据,使用d3.js生成图形。当服务器上有相同的CSV数据时,此示例可以工作,并且我将CSV文件的路径传递给scatter。
我遵循这里发布的解决方案直接数据输入从Django的D3图,以服务于CSV数据。
我在散点函数中得到一个错误,声称传递的数据是空的。
views.py
def serve_data(request):
model = get_object_or_404(FileData, pk = 1)
data = model.get_data()
return HttpResponse(data, content_type = "text/csv")
模板<script type="text/javascript">
$.get('/site/serve_data/', function(data)
{
$('.result').html(data);
scatter(data); // Here's the call to the javascript function
});
</script>
javascript function scatter(csvData)
{
// ERROR HERE: csvData is null
d3.csv(csvData, function(data)
{
data.forEach(function(d)
{
// work with data
});
});
});
我讲对了吗?
编辑
当我从浏览器调用URL时,serve_data
函数返回CSV数据。
您只是滥用d3.csv
,它需要一个URL。看到https://github.com/mbostock/d3/wiki/CSV wiki-csv