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