在 Django 模板中减去 2 个整数 [重复]
Posted
技术标签:
【中文标题】在 Django 模板中减去 2 个整数 [重复]【英文标题】:Subtracting 2 integers in Django Templates [duplicate] 【发布时间】:2013-04-22 10:44:14 【问题描述】:有人知道如何在 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>
谢谢!
【问题讨论】:
***.com/questions/9948095/… 【参考方案1】:不要尝试在模板中执行此操作。在 Person
模型中定义一个方法,或者编写一个自定义模板过滤器。
【讨论】:
【参考方案2】:我认为timesince 过滤器可以做任何想做的事。
% with now as today %
person.birthday|timesince:today
% endwith %
但是,您应该强烈考虑仅将计算值作为 Person
模型上的一种方法。 Django 模板语言在这些事情上的弱点是有原因的(这是一个很好的原因,恕我直言)。在您的模型中保留这样的逻辑,或者在您的视图中计算并作为上下文变量传入,几乎总是一个更好的主意。
最后,如果您真正想做的是操作整数,您总是可以使用the docs 来完成创建自己的模板标签或过滤器的相当简单的任务。同样,通常通过上下文或在您的对象上简单地传递数据是更好的行动方案。
【讨论】:
以上是关于在 Django 模板中减去 2 个整数 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
减去以下两个包含整数的地址返回 1 而不是预期的 4 [重复]