Jinja2: Проверка Существования и Значения Переменной

В Jinja2-темплейтах является хорошей практикой заранее проверять существует ли переменная и какое у нее значение.

Существует несколько полезных проверок, которые вы можете сделать с помощью встроенных в Jinja2 тестов и фильтров.

В этой статье я покажу, как проверить, существует ли переменная, является ли она пустой или она установлена в значение True.

Я также приведу два примера того, как можно объединять эти проверки.

Проверка Переменной в Jinja2

Проверить существует ли (определена ли) переменная:

{% if variable is defined %}
    variable is defined
{% else %}
    variable is not defined
{% endif %}

Проверить является ли пустой переменная:

{% if variable|length %}
    variable is not empty
{% else %}
    variable is empty
{% endif %}

Проверить установлена ли в значение true переменная:

{% if variable is sameas true %}
    variable is true
{% else %}
    variable is not true
{% endif %}

Проверить что переменная существует и не является пустой:

{% if variable is defined and variable|length %}
    variable is defined and not empty
{% else %}
    variable is not defined or empty
{% endif %}

Проверить что переменная существует и установлена в значение true:

{% if variable is defined and variable is sameas true %}
    variable is defined and true
{% else %}
    variable is not defined or not set to true
{% endif %}

2 Replies to “Jinja2: Проверка Существования и Значения Переменной”

  1. Your third example has a minor mistake. Instead of «variable sameas true» it needs to read «variable is sameas true». Otherwise, it will throw an error.

Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.