Шаблон Django, передающий переменную шаблона в фильтр Cut - PullRequest
6 голосов
/ 20 марта 2012

Я пытаюсь передать шаблон в фильтр среза, что-то вроде этого

{{ myVariable|cut:"something + templateVariable" }}

Я пробовал:

{{ myVariable|cut:"something"|add:templateVariable }}

и

{{ myVariable|cut:"something {{ templateVariable }}" }}

но это не работает.

Возможно ли это сделать?

1 Ответ

11 голосов
/ 20 марта 2012

Должен работать с временной переменной, используя с тегом :

{% with myFilter="something"|add:templateVariable %}
    {{ myVariable|cut:myFilter }}
{% endwith %}

Или в Django 1.2 и старше:

{% with "something"|add:templateVariable as myFilter %}
    {{ myVariable|cut:myFilter }}
{% endwith %}

Add не поддерживает объединение строк и int, но вы можете легко создать шаблонный фильтр , который преобразуется в строку, например:

from django import template

register = template.Library()

@register.filter
def to_unicode(mixed):
    return unicode(mixed)

Допустит такое выражение шаблона тега some_int|to_unicode|add:'foo'.

...