Нарежьте строку из переменной тега шаблона Django

Можно ли вырезать строку из переменной тега шаблона Django?

Допустим, some_variable содержит "abcde". Я хочу, чтобы она была сокращена до "abc"

В шаблоне Django я попробовал вот так.

{{some_variable[:-2]}}

Не работает.

Если возможно вырезать слова из переменной тега шаблона Django, пожалуйста, подскажите, как это сделать.

Да, вы можете работать с |slice фильтром шаблонов [Django-doc]:

{{ some_variable|slice:":-2" }}

Это работает как для списков, так и для строк. Например:

>>> from django.template import Template, Context
>>> Template('{{ foo|slice:":-2" }}').render(Context({'foo': 'abcde'}))
'abc'

Использование {{ some_variable[:-2] }} невозможно: Язык шаблонов Django не допускает вызовов функций, подзаписи, операторов и т.д. Поддерживается только подъязык Python, в основном для того, чтобы люди не могли писать бизнес-логику в шаблонах.

Вернуться на верх