2017-04-07 69 views
2

在标记为复制到许多其他关于SO的问题之前,请阅读。我有三个字段,Credit Available,Credit LimitCredit Balance。我从我的数据库中获取Credit LimitCredit Balance的值。要显示Credit Available,我想要做Credit Limit - Credit Balance。我试图从计算器其他答案这样做,但他们没有工作如何减去Django模板中的两个字段?

<tr> 
    <td style="text-align:center">{{ credit.credit_limit|add:"-{{credit.credit_balance}}" }}</td> 
    <td align="center">{{ credit.credit_limit}}</td> 
    <td align="center">{{ credit.credit_balance }}</td> 
</tr> 

我能做到这一点,而无需编写新的模板标签或使用mathfilter模块?

回答

1

用于将限制到平衡正确的语法是

{{ credit.credit_limit|add:credit.credit_balance }} 

按照https://docs.djangoproject.com/en/1.10/ref/templates/builtins/#add。 不幸的是,在变量前面放一个减号不会使其成为负数。

你可以使用custom template filter,这将是相当简单的。这可能是这样的:

@register.filter(name='subtract') 
def subtract(value, arg): 
    return value - arg 

然后在你的模板(加载之后)这将是:

{{ credit.credit_limit|subtract:credit.credit_balance }}