Атрибут data
Атрибут data применяется к объекту
Response и содержит тело ответа в виде
байтовой строки. При чтении возвращается
значение bytes. При присваивании нового
значения тело ответа заменяется, а заголовок
Content-Length пересчитывается автоматически.
Атрибут удобен, когда нужно получить сырое
содержимое ответа или подменить его без
создания нового объекта Response.
Если ответ был создан из строки, Flask
кодирует её в байты с помощью UTF-8.
Синтаксис
response.data
response.data = b'...'
Пример
Давайте прочитаем атрибут data у ответа,
созданного из строки:
from flask import Flask, make_response
app = Flask(__name__)
@app.route('/')
def index():
res = make_response('hello')
return str(res.data)
Результат выполнения кода для адреса /:
b'hello'
Пример
Давайте заменим тело ответа через атрибут
data:
from flask import Flask, make_response
app = Flask(__name__)
@app.route('/')
def index():
res = make_response('abcde')
res.data = b'user'
return res
Результат выполнения кода для адреса /:
user
Смотрите также
-
класс
Response,
который представляет HTTP-ответ -
метод
set_data,
который устанавливает тело ответа -
метод
get_data,
который возвращает тело ответа -
атрибут
content_length,
который хранит длину тела ответа