Нарежьте строку из переменной тега шаблона 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, в основном для того, чтобы люди не могли писать бизнес-логику в шаблонах.