有没有人知道如何在Django模板中执行数学函数?我想从另一个数字中减去一个数字。
{% for person in persons %}
<tr>
<td>{{ person.birthday|date:"jS M" }}</td>
<td>{{ person.name }}</td>
<td>Minus this {% now "Y" %} from this {{ person.birthday|date:"Y" }}</td>
<td>{{ person.address }}</td>
</tr>
{% endfor %}
</table>
谢谢!
答案 0 :(得分:2)
请勿尝试在模板中执行此操作。在Person
模型中定义方法,或编写自定义模板过滤器。
答案 1 :(得分:1)
我认为timesince过滤器可能会做什么。
{% with now as today %}
{{ person.birthday|timesince:today }}
{% endwith %}
但是,您应该强烈考虑将值计算为Person
模型上的方法。由于某种原因,Django模板语言在这些类型的东西上很弱(一个好的,恕我直言)。在你的模型上保持这样的逻辑,或者在你的视图中计算并作为上下文变量传递,几乎总是一个更好的主意。
最后,您总是可以使用the docs来完成创建自己的模板标记或过滤的相当简单的任务,如果您真正想要做的是操纵整数。同样,通常只需在via context或对象中传递数据就是更好的行动方式。