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

Метод apply

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

Синтаксис

plugin.apply(callback, route)

Пример

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

from bottle import Bottle, Plugin class LogPlugin(Plugin): name = 'log' api = 2 def apply(self, callback, route): def wrapper(*args, **kwargs): print('before call') res = callback(*args, **kwargs) print('after call') return res return wrapper app = Bottle() app.install(LogPlugin()) @app.route('/') def index(): return 'hello'

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

"before call" "after call"

Пример

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

from bottle import Bottle, Plugin, response class HeaderPlugin(Plugin): name = 'header' api = 2 def apply(self, callback, route): def wrapper(*args, **kwargs): response.set_header('X-Custom', 'abcde') return callback(*args, **kwargs) return wrapper app = Bottle() app.install(HeaderPlugin()) @app.route('/') def index(): return 'hello'

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

X-Custom: abcde

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

  • класс Plugin,
    который является базовым классом для плагинов
  • метод setup,
    который вызывается при установке плагина
  • метод close,
    который вызывается при удалении плагина
  • атрибут name,
    который задаёт имя плагина
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить