Функция make_response
Функция make_response применяется для создания объекта ответа Response.
Первым параметром передаётся тело ответа: строка, словарь, кортеж или
уже готовый объект Response. Вторым параметром можно передать
код статуса, третьим - словарь заголовков. Функция удобна, когда нужно
изменить код статуса, добавить заголовки или cookie перед отправкой ответа.
Синтаксис
from flask import make_response
make_response(response, [status], [headers])
Пример
Давайте создадим простой ответ из строки:
from flask import Flask, make_response
app = Flask(__name__)
@app.route('/')
def index():
res = make_response('hello')
return res
Результат выполнения кода:
hello
Пример
Давайте передадим код статуса вторым параметром:
from flask import Flask, make_response
app = Flask(__name__)
@app.route('/')
def index():
res = make_response('page found', 404)
return res
Теперь сервер вернёт код статуса 404 вместе с телом ответа.
Пример
Давайте добавим собственный заголовок к ответу:
from flask import Flask, make_response
app = Flask(__name__)
@app.route('/')
def index():
res = make_response('hello')
res.headers['X-Custom'] = 'abcde'
return res
Теперь в ответе появится заголовок X-Custom со значением abcde.
Пример
Давайте установим cookie через объект ответа:
from flask import Flask, make_response
app = Flask(__name__)
@app.route('/')
def index():
res = make_response('hello')
res.set_cookie('user', 'abcde')
return res
Теперь браузер клиента сохранит cookie user со значением abcde.
Смотрите также
-
функцию
jsonify,
которая создаёт JSON-ответ -
функцию
stream_with_context,
которая сохраняет контекст запроса при потоковой отдаче -
функцию
copy_current_request_context,
которая копирует контекст текущего запроса -
функцию
after_this_request,
которая регистрирует обработчик после запроса