Hoe converteer je string naar hoofdletters / kleine letters in Jinja2?

Ik probeer een tekenreeks in een Jinja-sjabloon waar ik aan werk om te zetten in hoofdletters.

In de sjabloondocumentatielees ik:

upper(s)
    Convert a value to uppercase.

Dus ik heb deze code geschreven:

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

Maar ik krijg deze foutmelding:

UndefinedError: 'upper' is undefined

Dus, hoe converteer je een string naar hoofdletters in Jinja2?


Antwoord 1, autoriteit 100%

Filters worden gebruikt met de |filter-syntaxis:

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

of u kunt de str.upper()methode:

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

Jinja-syntaxis is Python-achtig, niet echt Python. 🙂


Antwoord 2, autoriteit 30%

voor de hoofdletter

{{ 'helLo WOrlD'|capitalize }}

uitvoer

Hello world

voor de hoofdletter

{{ 'helLo WOrlD'|upper }}

uitvoer

HELLO WORLD

Antwoord 3, autoriteit 10%

Voor Hoofdletters

{{ 'helLo WOrlD'|capfirst }}

Voor HOOFDLETTERS

{{ 'helLo WOrlD'|upper }}

Voor kleine letters

{{ 'helLo WOrlD'|lower }}

Voor titel

{{ 'helLo WOrlD'|title }}

Voor ljust

{{ 'helLo WOrlD'|ljust }}

Voor recht

{{ 'helLo WOrlD'|rjust }}

Voor omslag

{{ 'helLo WOrlD'|wrap }}

Hoop dat het helpt


Antwoord 4, autoriteit 3%

En je kunt gebruiken: Filter als volgt

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

Other episodes