Python 循环模板中行的Django和
我想在我的模板中显示小计的总和Python 循环模板中行的Django和,python,django,Python,Django,我想在我的模板中显示小计的总和 {% for quote in quotes %} {% for product in quote.purchase_quote_products_set.all %} {{product.subtotal}} | {% endfor %} <span id="total"></span> {% endfor %} 有没有办法显示span#total <span id="total">
{% for quote in quotes %}
{% for product in quote.purchase_quote_products_set.all %}
{{product.subtotal}} |
{% endfor %}
<span id="total"></span>
{% endfor %}
有没有办法显示span#total
<span id="total">{{ sum_of_subtotal }}</span>
{{sum\u of_subtotal}
最好在Django视图中执行这种算法,而不是在模板中执行。例如,您可以在视图本身中找到总和:
from django.db.models import Sum
total_price = Quotes.objects.all().annotate(total=Sum('purchase_quote_products__subtotal'))
然后模板可以使用:
<span id="total">{{ quote.total }}</span>
{{quote.total}
如果您试图在模板上进行计算,那么在Django模板中有一个名为filter的东西,用于在变量呈现到UI之前更改变量的值
自定义筛选器只是采用一个或两个参数的Python函数:
- 变量(输入)的值–不一定是字符串
- 参数的值–可以有默认值,也可以完全忽略
- 例如,在过滤器{var | foo:“bar”}中,过滤器foo将被传递变量var和参数“bar”
def cut(value, arg):
"""Removes all values of arg from the given string"""
return value.replace(arg, '')
下面是如何使用该过滤器的示例:
{{ somevariable|cut:"0" }}
有关更多信息,请阅读以下文档,使用变量声明模板中的
set
。为总计设置过滤器<代码>http://stackoverflow.com/questions/5275639/sum-in-html-template-using-template-tag
{{ somevariable|cut:"0" }}