2012-03-30 6 views

ответ

51

Встроенный в тегах шаблонов Django/фильтры не всеохватывающий, но это очень легко написать свои собственные теги пользовательских шаблонов: https://docs.djangoproject.com/en/1.4/howto/custom-template-tags/

Вы можете сделать свой собственный subtract шаблонный тег довольно легко:

@register.filter 
def subtract(value, arg): 
    return value - arg 
+3

нет необходимости в тег шаблона для такой задачи. См. Ответ Симеона. – rom

+0

Ответ Симеона не отвечает на вопрос, поскольку он относится к вычитанию на сумму, определенную в переменной. – Teekin

82

Вы должны использовать двойные кавычки:

{{ myval|add:"-5" }} 

Это вычитает пять из myval.

+12

Мне нужно вычесть значение из переменной. – aemdy

+4

Можно ли сделать отрицательное значение в представлении вместо шаблона? –

+4

Спасибо, я все время пытался создать фильтр вычитания, и это еще проще. Haha – JREAM

8

https://pypi.python.org/pypi/django-mathfilters

установки: $ не пункт установить Django-mathfilters в шаблоне

{% load mathfilters %} 

<ul> 
    <li>8 + 3 = {{ 8|add:3 }}</li> 

    <li>13 - 17 = {{ 13|sub:17 }}</li> 

    {% with answer=42 %} 
    <li>42 * 0.5 = {{ answer|mul:0.5 }}</li> 
    {% endwith %} 

    {% with numerator=12 denominator=3 %} 
    <li>12/3 = {{ numerator|div:denominator }}</li> 
    {% endwith %} 

    <li>|-13| = {{ -13|abs }}</li> 
</ul> 
+3

Они должны быть включены в основное распределение Django, на мой взгляд. – Teekin

Смежные вопросы