Skip to content

builtin (30)

boolean

boolean(value: Any) -> bool

Return true if the object is a boolean value.

Example

Jinja call:

{% if 5 is boolean %}
True!
{% endif %}
Result:

DocStrings
Source code in .venv/lib/python3.12/site-packages/jinja2/tests.py
 97
 98
 99
100
101
102
def test_boolean(value: t.Any) -> bool:
    """Return true if the object is a boolean value.

    .. versionadded:: 2.11
    """
    return value is True or value is False

callable

callable(obj, /)

Return whether the object is callable (i.e., some kind of function).

Example

Jinja call:

{% if filters.any is callable %}
True!
{% endif %}
Result:
True!

DocStrings

defined

defined(value: Any) -> bool

Return true if the variable is defined:

Example

Jinja call:

{% if 5 is defined %}
True!
{% endif %}
Result:
True!

DocStrings
Source code in .venv/lib/python3.12/site-packages/jinja2/tests.py
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
def test_defined(value: t.Any) -> bool:
    """Return true if the variable is defined:

    .. sourcecode:: jinja

        {% if variable is defined %}
            value of variable: {{ variable }}
        {% else %}
            variable is not defined
        {% endif %}

    See the :func:`default` filter for a simple way to set undefined
    variables.
    """
    return not isinstance(value, Undefined)

divisibleby

divisibleby(value: int, num: int) -> bool

Check if a variable is divisible by a number.

Example

Jinja call:

{% if 4 is divisibleby(2) %}
True!
{% endif %}
Result:
True!

DocStrings
Source code in .venv/lib/python3.12/site-packages/jinja2/tests.py
25
26
27
def test_divisibleby(value: int, num: int) -> bool:
    """Check if a variable is divisible by a number."""
    return value % num == 0

eq

eq(a, b, /)

Same as a == b.

Aliases: equalto ==

Example

Jinja call:

{% if "a" is eq("a") %}
True!
{% endif %}
Result:
True!

DocStrings

escaped

escaped(value: Any) -> bool

Check if the value is escaped.

Example

Jinja call:

{% if "a" is escaped %}
True!
{% endif %}
Result:

DocStrings
Source code in .venv/lib/python3.12/site-packages/jinja2/tests.py
203
204
205
def test_escaped(value: t.Any) -> bool:
    """Check if the value is escaped."""
    return hasattr(value, "__html__")

even

even(value: int) -> bool

Return true if the variable is even.

Example

Jinja call:

{% if 5 is even %}
True!
{% endif %}
Result:

DocStrings
Source code in .venv/lib/python3.12/site-packages/jinja2/tests.py
20
21
22
def test_even(value: int) -> bool:
    """Return true if the variable is even."""
    return value % 2 == 0

false

false(value: Any) -> bool

Return true if the object is False.

Example

Jinja call:

{% if 5 is false %}
True!
{% endif %}
Result:

DocStrings
Source code in .venv/lib/python3.12/site-packages/jinja2/tests.py
105
106
107
108
109
110
def test_false(value: t.Any) -> bool:
    """Return true if the object is False.

    .. versionadded:: 2.11
    """
    return value is False

filter

filter(env: 'Environment', value: str) -> bool

Check if a filter exists by name. Useful if a filter may be

Example

Jinja call:

{% if 5 is filter %}
True!
{% endif %}
Result:

DocStrings
Source code in .venv/lib/python3.12/site-packages/jinja2/tests.py
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
@pass_environment
def test_filter(env: "Environment", value: str) -> bool:
    """Check if a filter exists by name. Useful if a filter may be
    optionally available.

    .. code-block:: jinja

        {% if 'markdown' is filter %}
            {{ value | markdown }}
        {% else %}
            {{ value }}
        {% endif %}

    .. versionadded:: 3.0
    """
    return value in env.filters

float

float(value: Any) -> bool

Return true if the object is a float.

Example

Jinja call:

{% if 5 is float %}
True!
{% endif %}
Result:

DocStrings
Source code in .venv/lib/python3.12/site-packages/jinja2/tests.py
131
132
133
134
135
136
def test_float(value: t.Any) -> bool:
    """Return true if the object is a float.

    .. versionadded:: 2.11
    """
    return isinstance(value, float)

ge

ge(a, b, /)

Same as a >= b.

Aliases: >=

Example

Jinja call:

{% if 2 is ge(2) %}
True!
{% endif %}
Result:
True!

DocStrings

gt

gt(a, b, /)

Same as a > b.

Aliases: > greaterthan

Example

Jinja call:

{% if 2 is gt(1) %}
True!
{% endif %}
Result:
True!

DocStrings

in

in(value: Any, seq: Container[Any]) -> bool

Check if value is in seq.

Example

Jinja call:

{% if "a" is in(["a"]) %}
True!
{% endif %}
Result:
True!

DocStrings
Source code in .venv/lib/python3.12/site-packages/jinja2/tests.py
208
209
210
211
212
213
def test_in(value: t.Any, seq: t.Container[t.Any]) -> bool:
    """Check if value is in seq.

    .. versionadded:: 2.10
    """
    return value in seq

integer

integer(value: Any) -> bool

Return true if the object is an integer.

Example

Jinja call:

{% if 5 is integer %}
True!
{% endif %}
Result:
True!

DocStrings
Source code in .venv/lib/python3.12/site-packages/jinja2/tests.py
122
123
124
125
126
127
def test_integer(value: t.Any) -> bool:
    """Return true if the object is an integer.

    .. versionadded:: 2.11
    """
    return isinstance(value, int) and value is not True and value is not False

iterable

iterable(value: Any) -> bool

Check if it's possible to iterate over an object.

Example

Jinja call:

{% if [1, 2, 3] is iterable %}
True!
{% endif %}
Result:
True!

DocStrings
Source code in .venv/lib/python3.12/site-packages/jinja2/tests.py
193
194
195
196
197
198
199
200
def test_iterable(value: t.Any) -> bool:
    """Check if it's possible to iterate over an object."""
    try:
        iter(value)
    except TypeError:
        return False

    return True

le

le(a, b, /)

Same as a <= b.

Aliases: <=

Example

Jinja call:

{% if 2 is le(2) %}
True!
{% endif %}
Result:
True!

DocStrings

lower

lower(value: str) -> bool

Return true if the variable is lowercased.

Example

Jinja call:

{% if "a" is lower %}
True!
{% endif %}
Result:
True!

DocStrings
Source code in .venv/lib/python3.12/site-packages/jinja2/tests.py
139
140
141
def test_lower(value: str) -> bool:
    """Return true if the variable is lowercased."""
    return str(value).islower()

lt

lt(a, b, /)

Same as a < b.

Aliases: <

Example

Jinja call:

{% if 1 is lt(2) %}
True!
{% endif %}
Result:
True!

DocStrings

mapping

mapping(value: Any) -> bool

Return true if the object is a mapping (dict etc.).

Example

Jinja call:

{% if {"a": "b"} is mapping %}
True!
{% endif %}
Result:
True!

DocStrings
Source code in .venv/lib/python3.12/site-packages/jinja2/tests.py
154
155
156
157
158
159
def test_mapping(value: t.Any) -> bool:
    """Return true if the object is a mapping (dict etc.).

    .. versionadded:: 2.6
    """
    return isinstance(value, abc.Mapping)

ne

ne(a, b, /)

Same as a != b.

Aliases: !=

Example

Jinja call:

{% if "a" is ne("b") %}
True!
{% endif %}
Result:
True!

DocStrings

none

none(value: Any) -> bool

Return true if the variable is none.

Example

Jinja call:

{% if 5 is none %}
True!
{% endif %}
Result:

DocStrings
Source code in .venv/lib/python3.12/site-packages/jinja2/tests.py
92
93
94
def test_none(value: t.Any) -> bool:
    """Return true if the variable is none."""
    return value is None

number

number(value: Any) -> bool

Return true if the variable is a number.

Example

Jinja call:

{% if 4 is number %}
True!
{% endif %}
Result:
True!

DocStrings
Source code in .venv/lib/python3.12/site-packages/jinja2/tests.py
162
163
164
def test_number(value: t.Any) -> bool:
    """Return true if the variable is a number."""
    return isinstance(value, Number)

odd

odd(value: int) -> bool

Return true if the variable is odd.

Example

Jinja call:

{% if 5 is odd %}
True!
{% endif %}
Result:
True!

DocStrings
Source code in .venv/lib/python3.12/site-packages/jinja2/tests.py
15
16
17
def test_odd(value: int) -> bool:
    """Return true if the variable is odd."""
    return value % 2 == 1

sameas

sameas(value: Any, other: Any) -> bool

Check if an object points to the same memory address than another

Example

Jinja call:

{% if "a" is sameas("a") %}
True!
{% endif %}
Result:
True!

DocStrings
Source code in .venv/lib/python3.12/site-packages/jinja2/tests.py
180
181
182
183
184
185
186
187
188
189
190
def test_sameas(value: t.Any, other: t.Any) -> bool:
    """Check if an object points to the same memory address than another
    object:

    .. sourcecode:: jinja

        {% if foo.attribute is sameas false %}
            the foo attribute really is the `False` singleton
        {% endif %}
    """
    return value is other

sequence

sequence(value: Any) -> bool

Return true if the variable is a sequence. Sequences are variables

Example

Jinja call:

{% if [1, 2, 3] is sequence %}
True!
{% endif %}
Result:
True!

DocStrings
Source code in .venv/lib/python3.12/site-packages/jinja2/tests.py
167
168
169
170
171
172
173
174
175
176
177
def test_sequence(value: t.Any) -> bool:
    """Return true if the variable is a sequence. Sequences are variables
    that are iterable.
    """
    try:
        len(value)
        value.__getitem__  # noqa B018
    except Exception:
        return False

    return True

string

string(value: Any) -> bool

Return true if the object is a string.

Example

Jinja call:

{% if "a" is string %}
True!
{% endif %}
Result:
True!

DocStrings
Source code in .venv/lib/python3.12/site-packages/jinja2/tests.py
149
150
151
def test_string(value: t.Any) -> bool:
    """Return true if the object is a string."""
    return isinstance(value, str)

test

test(env: 'Environment', value: str) -> bool

Check if a test exists by name. Useful if a test may be

Example

Jinja call:

{% if 5 is test %}
True!
{% endif %}
Result:

DocStrings
Source code in .venv/lib/python3.12/site-packages/jinja2/tests.py
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
@pass_environment
def test_test(env: "Environment", value: str) -> bool:
    """Check if a test exists by name. Useful if a test may be
    optionally available.

    .. code-block:: jinja

        {% if 'loud' is test %}
            {% if value is loud %}
                {{ value|upper }}
            {% else %}
                {{ value|lower }}
            {% endif %}
        {% else %}
            {{ value }}
        {% endif %}

    .. versionadded:: 3.0
    """
    return value in env.tests

true

true(value: Any) -> bool

Return true if the object is True.

Example

Jinja call:

{% if 5 is true %}
True!
{% endif %}
Result:

DocStrings
Source code in .venv/lib/python3.12/site-packages/jinja2/tests.py
113
114
115
116
117
118
def test_true(value: t.Any) -> bool:
    """Return true if the object is True.

    .. versionadded:: 2.11
    """
    return value is True

undefined

undefined(value: Any) -> bool

Like :func:defined but the other way round.

Example

Jinja call:

{% if 5 is undefined %}
True!
{% endif %}
Result:

DocStrings
Source code in .venv/lib/python3.12/site-packages/jinja2/tests.py
47
48
49
def test_undefined(value: t.Any) -> bool:
    """Like :func:`defined` but the other way round."""
    return isinstance(value, Undefined)

upper

upper(value: str) -> bool

Return true if the variable is uppercased.

Example

Jinja call:

{% if "a" is upper %}
True!
{% endif %}
Result:

DocStrings
Source code in .venv/lib/python3.12/site-packages/jinja2/tests.py
144
145
146
def test_upper(value: str) -> bool:
    """Return true if the variable is uppercased."""
    return str(value).isupper()