Метод after_request
Метод after_request применяется к приложению
Flask и вешает функцию, которая вызывается после
обработки каждого запроса. Функция получает объект
ответа response первым параметром и должна
вернуть его же (возможно, изменённым). Если функция
не вернёт ответ, Flask выбросит ошибку. Метод
полезен для добавления заголовков, логирования,
модификации тела ответа.
Синтаксис
@app.after_request
def after_request_func(response):
return response
Пример
Давайте добавим заголовок 'X-Custom' к каждому ответу:
from flask import Flask
app = Flask(__name__)
@app.after_request
def add_header(response):
response.headers['X-Custom'] = 'abcde'
return response
@app.route('/')
def index():
return 'hello'
Результат выполнения кода для адреса / (в заголовках ответа):
X-Custom: abcde
Пример
Давайте изменим тело ответа после обработки запроса:
from flask import Flask
app = Flask(__name__)
@app.after_request
def modify_body(response):
response.set_data(response.get_data(as_text=True) + ' world')
return response
@app.route('/')
def index():
return 'hello'
Результат выполнения кода для адреса /:
hello world
Смотрите также
-
метод
before_request,
который выполняется перед каждым запросом -
метод
teardown_request,
который выполняется после завершения запроса -
метод
errorhandler,
который регистрирует обработчик ошибок -
класс
Flask,
который представляет приложение Flask