2011-06-15 45 views
0

我有我的模板下面的代码:Django的数学问题

{{ object.rating.get_percent|floatformat|add:"-100" }} 

,输出-50

object.rating.get_percent值是50。我想从100减去它。所以我期待50作为回报。我为什么得到-50

回答

3

你得到-50,因为“-100”是操作数到add。第一个操作数是object.rating.get_percent|floatformat的结果。

本质上你的表情是:

50 + -100 

如果你真的绝望计算 “100 - X”,你可以使用{% widthratio %} tag

{% widthratio -100|add:object.rating.get_percent -100 100 %} 

但是,你真的应该只得到后端开发人员为您添加模板过滤器。

+0

这就是我的想法,所以你知道我怎么能得到50?我看了一下django文档,他们唯一的数学模板过滤器就是add。我只能访问前端模板标签/变量,所以我不能在python中完成。 – Sam 2011-06-15 00:56:18

+0

所以如果'object.rating.get_percent'是60,你想输出为40? – 2011-06-15 01:15:50

+0

@Sam看看我使用'widthratio'的例子,这可能就是你以后的样子。 – 2011-06-15 01:25:39