Я пытаюсь добавить завершающие 's' к строке, если последний символ строки не является 's'.Как мне сделать это в шаблоне Django?[-1] ниже вызывает ошибку:
{{ name }}{% if name[-1] != "s" %}s{% endif %}
попробуйте фильтр ломтик
{% if name|slice:"-1" != "s" %}
{% if name|slice:"-1:"|first != "s" %}s{% endif %}
Фильтр срезов Django неправильно обрабатывает срезы без двоеточия, поэтому решение среза "- 1" не работает.Использование первого фильтра в дополнение, кажется, делает свое дело.
Не уверен, что это то, что вы ищете, но в django есть встроенный шаблонный фильтр, который множит словаЭто называется просто: множественное число.Вы бы хотели что-то вроде этого:
{{name | pluralize}}
Взгляните на https://docs.djangoproject.com/en/dev/ref/templates/builtins/
Система шаблонов Django предоставляет теги, которые функционируют аналогично некоторым программным конструкциям - тег if для логических тестов, тег for для циклов и т. Д. - но они не просто выполняются как соответствующий код Python, асистема шаблонов не будет выполнять произвольные выражения Python.
Использовать встроенный фильтр среза .
{% if name|last != "s" %} делает работу
{% if name|last != "s" %}