РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
192 of 643 menu

Тест defined

Тест defined применяется к переменной в шаблоне Jinja и возвращает true, если переменная определена, и false, если переменная не определена. Обычно используется в конструкции if, чтобы избежать ошибок при обращении к несуществующим переменным.

Синтаксис

{% if variable is defined %} ... {% endif %}

Пример

Давайте проверим, определена ли переменная name в шаблоне:

from flask import Flask, render_template app = Flask(__name__) @app.route('/') def index(): return render_template('index.html', name='abcde')

Шаблон:

{% if name is defined %} <p>{{ name }}</p> {% endif %}

Результат выполнения кода:

<p>abcde</p>

Пример

Давайте проверим переменную, которая не передана в шаблон:

from flask import Flask, render_template app = Flask(__name__) @app.route('/') def index(): return render_template('index.html')

Шаблон:

{% if name is defined %} <p>{{ name }}</p> {% else %} <p>undefined</p> {% endif %}

Результат выполнения кода:

<p>undefined</p>

Пример

Давайте используем тест defined с фильтром default, чтобы подставить значение по умолчанию:

from flask import Flask, render_template app = Flask(__name__) @app.route('/') def index(): return render_template('index.html')

Шаблон:

<p>{{ name if name is defined else 'hello' }}</p>

Результат выполнения кода:

<p>hello</p>

Смотрите также

  • тест undefined,
    который проверяет, что переменная не определена
  • тест none,
    который проверяет значение переменной на None
  • фильтр default,
    который подставляет значение по умолчанию
  • тег if,
    который используется вместе с тестом defined
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить