在 Django 模板中如何将负数转化为正数?
{% for balance in balances %}
{{ balance.amount }}
{% endfor %}
如果balance.amount是负数,我希望将其转换为正数。
我建议安装django-mathfilters。
然后你可以像这样简单地使用abs
过滤器:
{% for balance in balances %}
{{ balance.amount|abs }}
{% endfor %}
如果您不想/无法安装django-mathfilters
您可以很容易地创建自定义过滤器:
from django import template
register = template.Library()
@register.filter(name='abs')
def abs_filter(value):
return abs(value)
{% if balance.amount < 0 %}
{% widthratio balance.amount 1 -1 %}
{% else %}
{{ balance.amount }}
{% endif %}
Widthratio 是用于创建条形图的,但也可用于乘法运算和除法运算
widthratio
要乘起来了!嘿嘿,这种超出常规的思维方式真是太棒了——我以最奇怪的方式喜欢它。现在是公共服务宣传的时候了。如果您决定使用上述代码,请务必添加 {# widthratio被用于将balance.amount乘以-1 #}
,以使此代码具有一点意义。 - Krystian Cybulskifrom this SO:
{% if qty > 0 %}
Please, sell {{ qty }} products.
{% elif qty < 0 %}
Please, buy {{ qty|slice:"1:" }} products.
{% endif %}