web-dev-qa-db-fra.com

Comment convertir une chaîne en majuscules / minuscules dans Jinja2?

J'essaie de convertir en majuscules une chaîne dans un modèle Jinja sur lequel je travaille.

Dans le documentation du modèle , je lis:

upper(s)
    Convert a value to uppercase.

J'ai donc écrit ce code:

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

Mais je reçois cette erreur:

UndefinedError: 'upper' is undefined

Alors, comment convertir une chaîne en majuscules dans Jinja2?

37
Xar

Les filtres sont utilisés avec la syntaxe |filter :

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

ou vous pouvez utiliser la méthode str.upper() :

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

La syntaxe Jinja est Python - comme , pas Python réel. :-)

63
Martijn Pieters

Et vous pouvez utiliser: Filtre comme celui-ci

{% filter upper %}
    UPPERCASE
{% endfilter %}
3
saudi_Dev