2017-04-07 53 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 }}