如何在django模板中将负数转换为正数?
{% for balance in balances %}
{{ balance.amount }}
{% endfor %}
如果balance.amount为负数,我想将其转换为正数。
答案 0 :(得分:8)
我建议安装django-mathfilters。
然后您可以像这样简单地使用abs
过滤器:
{% for balance in balances %}
{{ balance.amount|abs }}
{% endfor %}
答案 1 :(得分:5)
如果您不想/无法安装django-mathfilters
您可以非常轻松地制作自定义过滤器:
from django import template
register = template.Library()
@register.filter(name='abs')
def abs_filter(value):
return abs(value)
答案 2 :(得分:4)
来自this SO:
{% if qty > 0 %}
Please, sell {{ qty }} products.
{% elif qty < 0 %}
Please, buy {{ qty|slice:"1:" }} products.
{% endif %}
答案 3 :(得分:2)
这可以不添加django-mathfilters,但这不是一个很好的做法。
{% if balance.amount < 0 %}
{% widthratio balance.amount 1 -1 %}
{% else %}
{{ balance.amount }}
{% endif %}
Widthratio用于创建条形图,但可用于multiplication