每次使用 Django 编写代码时,我都会遇到同样的问题(我认为这是由于我缺乏使用此框架的经验):
我知道如何将我从查询集获得的参数传递给模板以及如何显示它,但我不知道如何添加在视图中计算的参数并在模板中使用它们。
简单视图(我掌握): 示例:检索比萨饼列表并在模板中显示它们
视图.py
Pizzas = Pizza.objects.all()
return render_to_response( "pizza.html" , {'pizzas':Pizzas} )
比萨饼.html
{% for pizza in pizzas %}
<li>pizza.name</li>
{% endfor %}
但是,假设我想添加一些链接到查询集的参数,但它们不像我在视图中计算的那样在数据库中,我不知道如何将此参数传递给模板以及如何使用它->编辑:我想按模板中的总卡路里来订购我所有的披萨。
示例:对于每个比萨饼,我计算了卡路里数
视图.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} )
比萨饼.html
?
我什至不确定将这些附加数据传递给模板的方法是否良好(创建一个表并将其作为参数传递给模板。
如果您有任何想法或最佳实践可以在 Django 中做到这一点,我会接受(很多使用 Django 的人也会这样做!)