1

モデルから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データを返します。

4

1 に答える 1

1

あなたは単に誤用d3.csvしています、それはURLを期待しています。https://github.com/mbostock/d3/wiki/CSV#wiki-csvを参照してください

于 2013-01-11T21:22:44.340 に答える