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

Метод add_hook

Метод add_hook применяется к приложению Bottle и добавляет функцию в список обработчиков указанного события. Первым параметром передаётся имя события. Вторым параметром передаётся функция-обработчик. Третьим необязательным параметром передаётся имя плагина. Метод возвращает декоратор, поэтому его можно использовать как @app.add_hook('before_request').

Синтаксис

app.add_hook(name, func, plugin=None)

Пример

Давайте зарегистрируем обработчик события before_request, который выводит сообщение перед каждым запросом:

from bottle import Bottle app = Bottle() @app.add_hook('before_request') def before(): print('before request') @app.route('/') def index(): return 'hello' app.run(port=8080)

После запуска сервера и перехода на адрес / в консоли появится:

"before request"

Пример

Давайте зарегистрируем обработчик события after_request, который добавляет заголовок к ответу:

from bottle import Bottle app = Bottle() @app.add_hook('after_request') def after(): response.set_header('X-App', 'Bottle') @app.route('/') def index(): return 'hello' app.run(port=8080)

После запроса к адресу / ответ будет содержать заголовок X-App со значением 'Bottle'.

Пример

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

from bottle import Bottle app = Bottle() def before(): print('before request') app.add_hook('before_request', before) @app.route('/') def index(): return 'hello' app.run(port=8080)

Результат работы будет таким же, как и в первом примере.

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

  • метод remove_hook,
    который удаляет обработчик события
  • метод trigger_hook,
    который вызывает обработчики события
  • событие before_request,
    которое срабатывает перед обработкой запроса
  • событие after_request,
    которое срабатывает после обработки запроса
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить