Skip to main content
 首页 » 编程设计

python之如何减去 Django 模板中的两个字段

2025年02月15日24daizhj

在将 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 }}