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

Атрибут call

Атрибут call принадлежит классу Route и содержит исходную функцию-обработчик, которую нужно вызвать при совпадении запроса с маршрутом. Именно эта функция вызывается Bottle после успешного сопоставления URL, а её результат возвращается клиенту. Атрибут хранит именно ту функцию, которая была передана в декоратор, до применения обёрток и дополнительной обработки.

Значение атрибута call доступно только для чтения и устанавливается автоматически в момент регистрации маршрута. Обращаться к нему можно через объект маршрута, полученный из приложения.

Синтаксис

route.call

Пример

Давайте создадим маршрут и выведем его функцию-обработчик через атрибут call:

from bottle import Bottle app = Bottle() @app.route('/') def index(): return 'hello' route = app.routes[0] print(route.call) print(route.call.__name__)

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

<function index at 0x...> "index"

Пример

Давайте вызовем функцию-обработчик напрямую через атрибут call:

from bottle import Bottle app = Bottle() @app.route('/user') def user(): return 'article' route = app.routes[0] res = route.call() print(res)

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

"article"

Пример

Давайте проверим, что атрибут call хранит именно исходную функцию, переданную в декоратор:

from bottle import Bottle app = Bottle() def handler(): return 'abcde' app.route('/abcde', callback=handler) route = app.routes[0] print(route.call is handler)

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

True

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

  • класс Route,
    который описывает один маршрут приложения
  • атрибут callback,
    который хранит обёрнутую функцию-обработчик
  • атрибут rule,
    который содержит правило URL маршрута
  • атрибут name,
    который хранит имя маршрута
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить