在将 SO 上的许多其他问题标记为重复之前,请阅读。我有三个字段,Credit Available、Credit Limit 和 Credit Balance。我正在从我的数据库中获取 Credit Limit 和 Credit Balance 的值。要显示Credit Available,我想做Credit Limit-Credit Balance。我尝试从 stackoverflow 上的其他答案中这样做,但它们没有用
<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 模块的情况下执行此操作吗?
请您参考如下方法:
向余额添加限制的正确语法是
{{ 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 }}
