在 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 个整数 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何减去 django 模板中的两个字段?

在数组c ++中减去两个长正整数[重复]

减去整数数组的索引的结果[重复]

减去以下两个包含整数的地址返回 1 而不是预期的 4 [重复]

我如何在Django模板标签中使用模板上下文变量的值? [重复]

字典值无法通过在django模板中使用相应的键进行迭代[重复]