这是我的for循环(在我的template.html中):
{% for item in filter.qs %}
<tr>
<th scope="row">{{ item.id }}</th>
<td>{{ item.nome }}</td>
<td>{{ item.data|date:"d, F" }}</td>
<td>{{ item.tipo_pgto}}</td>
<td>{{ item.mes }}</td>
<td>{{ item.entrada }}</td>
<td>{{ item.valor}}</td>
</tr>
{% endfor %}
变量{{item.valor}}在过滤后保留一个十进制数字。如何求和并将结果放入HTML的另一部分?更好的做法是现在使用JavaScript,还是可以在view.py中创建一个变量,然后将其放入html中?
答案 0 :(得分:1)
在JS中执行此操作会很好,但是IMO从视图中将其传递通过上下文会更好。 JS很难进行测试。
如果您使用Jinja模板(非常易于设置和使用),则可以使用其过滤器:
{{ filter.qs | sum(attribute='valor') }}