Djangoを使用して何かをコーディングするたびに、同じ問題に直面します(これは、このフレームワークを使用した経験が不足しているためだと思います)。
クエリセットからテンプレートに引数を渡す方法とそれを表示する方法は知っていますが、ビューで計算された引数を追加してテンプレートで使用する方法がわかりません。
シンプルビュー(私はそれをマスターします): 例:ピザのリストを取得し、テンプレートに表示します
views.py
Pizzas = Pizza.objects.all()
return render_to_response( "pizza.html" , {'pizzas':Pizzas} )
pizza.html
{% for pizza in pizzas %}
<li>pizza.name</li>
{% endfor %}
しかし、クエリセットにリンクされているが、ビューで計算したもののようにデータベースにない引数を追加したいとします。この引数をテンプレートに渡す方法とその使用方法がわかりません->編集:テンプレートの総カロリーですべてのピザを注文したい。
例:ピザごとに、カロリー数を計算しました
views.py
Pizzas = Pizza.objects.all()
tab = []
for pizza in Pizzas:
# Compute some data and return the total number of calories for one pizza
total_number_calories = XXX
tab.append({'p':pizza,'calories':total_number_calories'})
return render_to_response( "pizza.html" , {'pizzas_calories':tab} )
pizza.html
?
これらの追加データをテンプレートに渡す方法が適切かどうかさえわかりません(テーブルを作成し、それを引数としてテンプレートに渡します)。
Djangoでそれを行うためのアイデアやベストプラクティスがあれば、私はそれを採用します(そして、Djangoを使用している多くの人が同じことをします!)