Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在django模板中将负数转换为正数?_Python_Django - Fatal编程技术网

Python 在django模板中将负数转换为正数?

Python 在django模板中将负数转换为正数?,python,django,Python,Django,如何在django模板中将负数转换为正数 {% for balance in balances %} {{ balance.amount }} {% endfor %} 如果balance.amount是负数,我想将其转换为正数。来源: {%如果数量>0%} 请销售{{qty}产品。 {%elif数量

如何在django模板中将负数转换为正数

{% for balance in balances %}
    {{ balance.amount }}
{% endfor %}
如果balance.amount是负数,我想将其转换为正数。

来源:

{%如果数量>0%}
请销售{{qty}产品。
{%elif数量<0%}
请购买{{数量|切片:“1:”}产品。
{%endif%}

我建议安装

然后,您可以像这样简单地使用
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)

这可以在不添加django mathfilters的情况下工作,但这不是一个很好的实践

{% if balance.amount < 0 %}
{% widthratio balance.amount 1 -1 %}
{% else %}
{{ balance.amount }}
{% endif %}
{%if balance.amount<0%}
{%widthratio余额。金额1-1%}
{%else%}
{{balance.amount}}
{%endif%}

用于创建条形图,但可用于

我是否可以在不创建自定义模板标记的情况下执行此操作?您的问题专门询问了模板。你不想在视野中这样做有什么原因吗?天哪<代码>宽度比要乘法!呵呵,跳出框框思考的方式——我喜欢最奇怪的方式。是时候发布公共服务公告了。如果您决定使用上述代码,请添加
{#widthratio用于乘以balance.amount乘以-1#}
,使此代码有一点意义。非常好的工作,兄弟,请继续
{% if balance.amount < 0 %}
{% widthratio balance.amount 1 -1 %}
{% else %}
{{ balance.amount }}
{% endif %}