5

私は現在、d3.jsを使用して何らかの棒グラフの視覚化を実行する必要がある調査Webプロジェクトを行っています。Django を使用して Web アプリケーションをプログラミングしています。

私が遭遇する問題は、オブジェクトに関連するすべての値を d3.js で使用される配列に渡す方法です。

choice = question.choicelist.get(choice_no=choice_no)

ここで、質問に対する各選択肢の投票は、選択肢 1 = 4、選択肢 2 = 6、選択肢 3 = 7、選択肢 4 = 1 になります。

ds.js の場合、データ セットを読み取る最も簡単な方法は次のとおりです。

var data = [ 4, 6, 7, 1]

d3.js が上記のコードとしてデータを読み取れるように、データをテンプレートに渡すにはどうすればよいですか?

4

1 に答える 1

8

最も便利なオプション: json に変換します。Json は有効な JavaScript であるため、テンプレートに直接挿入することができます。何かのようなもの

import json

def your_view(request):
    poll_results = [4, 6, 7, 1]
    poll_as_json = json.dumps(poll_results)
    # Gives you a string '[4, 6, 7, 1]'
    ...
    return render_or_whatever(context={'poll_as_json': poll_as_json})

そしてあなたのテンプレートで:

<script ...>
   var data = {{ poll_as_json }};
   ...
</script>

そんな感じ?

于 2012-10-25T10:03:18.023 に答える