Подтвердить что ты не робот

Как преобразовать строку в верхний или нижний регистр в Jinja2?

Я пытаюсь преобразовать в верхний регистр строку в шаблоне Jinja, над которым я работаю.

В документации по шаблонам я прочитал:

upper(s)
    Convert a value to uppercase.

Итак, я написал этот код:

{% if student.departament == "Academy" %}
    Academy
{% elif  upper(student.department) != "MATHS DEPARTMENT" %}
    Maths department
{% endif %}

Но я получаю эту ошибку:

UndefinedError: 'upper' is undefined

Итак, как вы преобразовываете строку в верхний регистр в Jinja2?

4b9b3361

Ответ 1

Фильтры используются с синтаксисом |filter:

{% elif  student.department|upper != "MATHS DEPARTMENT" %}
    Maths department
{% endif %}

или вы можете использовать метод str.upper():

{% elif  student.department.upper() != "MATHS DEPARTMENT" %}
    Maths department
{% endif %}

Синтаксис Jinja - это Python-подобный, а не фактический Python.: -)

Ответ 2

И вы можете использовать: Filter like this

{% filter upper %}
    UPPERCASE
{% endfilter %}