モデルからCSVデータを提供してd3.jsを使用してグラフを生成するようにdjangoを取得しようとしています。この例は、サーバー上に同じCSVデータがあり、CSVファイルへのパスをスキャッターに渡す場合に機能します。
私はここに投稿されたソリューションに従っています。CSVデータを提供するためのD3グラフのDjangoからの直接データ入力。
渡されたデータがnullであると主張する散布関数でエラーが発生します。
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データを返します。