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

Метод hook

Метод hook применяется к приложению Bottle и вешает функцию на событие before_request. Первым параметром передаётся имя события, вторым - функция-обработчик. Указанная функция будет вызвана перед обработкой каждого запроса, что удобно для логирования, проверки авторизации или установки общих переменных.

Синтаксис

@app.hook(event, func)

Пример

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

from bottle import Bottle, request app = Bottle() def log_request(): print('request to', request.path) app.hook('before_request', log_request) @app.route('/') def index(): return 'hello'

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

"request to /"

Пример

Давайте сохраним данные в словаре request.environ внутри хука и прочитаем их в обработчике:

from bottle import Bottle, request app = Bottle() def set_user(): request.environ['user'] = 'abcde' app.hook('before_request', set_user) @app.route('/user') def user(): return request.environ.get('user', 'guest')

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

<+html+> abcde <-html+>

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

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