d3 と django を使用して Web アプリの構築を開始しました。もちろん、d3はDOM上に構築されており、オブジェクトと関数がスタックのどこに存在し、どのように渡されるのか、私には明確ではありません。たとえば、特定の値、たとえばsizeを持つitemsのモデルがあります。ここで、半径などのサイズに基づいてこれらの要素を表示したいと思います。私はそれらのリストを持っていて、それらを d3 に渡します。d3.scale を使用する代わりに、最初にスケーリングを行ってから生の値を渡します。私はdjangoテンプレートを使用してjavascriptコードを生成していますが、これは良い考えではありません。
d3 の説明からは、かなり重複しているように見えます。「D3 では、任意のデータをドキュメント オブジェクト モデル (DOM) にバインドし、データ駆動型の変換をドキュメントに適用できます。」私は CouchDB と MongoDB も調べていますが、これらすべてのレイヤーがどのように相互作用するのか少し戸惑っています。
// simple example using django with d3
// routing with django
values = [float(item.size) for item in itemlist] // get model-data
//scale values in django/python
values = [round(x/(max(values)),3) for x in values]
html += t.render(Context({'values':values}))
//template producing javascript given the values from python
{% for value in values %}
data.push({"x":{{value}},"y":0.5})
{% endfor %}
//paint data with d3 based on DOM