如何在Jinja2中将字符串转换为大写/小写?

时间:2014-04-21 10:16:15

标签: python jinja2

我正在尝试将我正在使用的Jinja模板中的字符串转换为大写字母。

template documentation中,我读到了:

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中将字符串转换为大写?

4 个答案:

答案 0 :(得分:60)

过滤器与|filter syntax

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

或者您可以使用str.upper() method

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

Jinja语法是Python- ,如,而非实际的Python。 : - )

答案 1 :(得分:12)

大写

{{ 'helLo WOrlD'|capitalize }}

输出

Hello world

大写

{{ 'helLo WOrlD'|upper }}

输出

HELLO WORLD

答案 2 :(得分:6)

对于大写

{{ 'helLo WOrlD'|capfirst }}

对于大写

{{ 'helLo WOrlD'|upper }}

对于小写

{{ 'helLo WOrlD'|lower }}

对于标题

{{ 'helLo WOrlD'|title }}

为了ljust

{{ 'helLo WOrlD'|ljust }}

对于rjust

{{ 'helLo WOrlD'|rjust }}

对于包裹

{{ 'helLo WOrlD'|wrap }}

希望能帮到你

答案 3 :(得分:3)

你可以使用:像这样过滤

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