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

Функция defined

Функция defined применяется внутри шаблонов SimpleTemplate для проверки того, существует ли переменная в контексте шаблона. Первым параметром передаётся имя переменной в виде строки. Функция возвращает True, если переменная определена, и False в противном случае. Это особенно полезно, когда шаблон используется в разных маршрутах и не все переменные могут быть переданы. Функция доступна внутри выражений {{ ... }} и в блоках кода % ....

Синтаксис

defined(name)

Здесь name - строка с именем проверяемой переменной.

Пример

Давайте создадим шаблон, который проверяет наличие переменной user и выводит разные сообщения в зависимости от результата:

% if defined('user'): Hello, {{ user }}! % else: Hello, guest! % end

Теперь передадим переменную user из приложения:

from bottle import Bottle, template app = Bottle() @app.route('/') def index(): return template('views/index', user='abcde')

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

Hello, abcde!

Пример

Если переменная не передана в шаблон, функция defined вернёт False, и сработает ветка else. Запустим тот же шаблон без переменной user:

from bottle import Bottle, template app = Bottle() @app.route('/') def index(): return template('views/index')

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

Hello, guest!

Пример

Функцию defined можно использовать и внутри выражения {{ ... }} для условного вывода значения переменной:

{{ 'Hello, ' + user if defined('user') else 'Hello, guest' }}

Передадим переменную user со значением 'abcde':

from bottle import Bottle, template app = Bottle() @app.route('/') def index(): return template('views/greet', user='abcde')

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

Hello, abcde

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

  • тег if,
    который выполняет ветку кода по условию
  • тег else,
    который задаёт альтернативную ветку условия
  • функцию get,
    которая возвращает значение переменной или значение по умолчанию
  • функцию setdefault,
    которая задаёт значение переменной, если она не определена
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить