Метод remove_hook
Метод remove_hook применяется к приложению
Bottle и удаляет функцию, которая была ранее
добавлена через add_hook. Первым параметром
передаётся имя события, вторым - функция-обработчик,
которую нужно удалить. Если функция не была
зарегистрирована для указанного события, метод
ничего не делает.
Синтаксис
@app.remove_hook(name, func)
Пример
Давайте добавим хук на событие 'before_request'
и затем удалим его:
from bottle import Bottle
app = Bottle()
def my_hook():
print('before request')
app.add_hook('before_request', my_hook)
app.remove_hook('before_request', my_hook)
@app.route('/')
def index():
return 'hello'
После удаления хука функция my_hook больше
не вызывается при обработке запросов.
Пример
Давайте проверим, что после удаления хука он действительно не срабатывает:
from bottle import Bottle
app = Bottle()
def hook_one():
print('hook one')
def hook_two():
print('hook two')
app.add_hook('before_request', hook_one)
app.add_hook('before_request', hook_two)
app.remove_hook('before_request', hook_one)
@app.route('/')
def index():
return 'hello'
При обработке запроса к адресу '/' в консоль
будет выведено только:
"hook two"
Смотрите также
-
метод
add_hook,
который регистрирует хук для события -
метод
trigger_hook,
который вызывает все хуки указанного события -
метод
hook,
который является декоратором для регистрации хука -
событие
before_request,
которое срабатывает перед обработкой запроса