Метод get_data
Метод get_data применяется к объекту ответа
TestResponse, который возвращается тестовым
клиентом Flask. Метод возвращает тело ответа
в виде байтовой строки. Первым необязательным
параметром передаётся флаг as_text - если
он равен True, результат декодируется в
строку. Вторым необязательным параметром
передаётся кодировка, которая используется при
декодировании.
Синтаксис
response.get_data([as_text], [charset])
Пример
Давайте создадим приложение и получим тело
ответа через метод get_data:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return 'hello'
with app.test_client() as client:
response = client.get('/')
res = response.get_data()
print(res)
Результат выполнения кода:
b'hello'
Пример
Давайте передадим параметр as_text, чтобы
получить тело ответа в виде строки:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return 'abcde'
with app.test_client() as client:
response = client.get('/')
res = response.get_data(as_text=True)
print(res)
Результат выполнения кода:
"abcde"
Пример
Давайте вернём JSON и получим его тело
через метод get_data:
from flask import Flask, jsonify
app = Flask(__name__)
@app.route('/')
def index():
return jsonify(user='user')
with app.test_client() as client:
response = client.get('/')
res = response.get_data(as_text=True)
print(res)
Результат выполнения кода:
'{"user":"user"}\n'
Пример
Давайте передадим кодировку при декодировании:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return 'article'
with app.test_client() as client:
response = client.get('/')
res = response.get_data(as_text=True, charset='utf-8')
print(res)
Результат выполнения кода:
"article"
Смотрите также
-
класс
TestResponse,
который представляет ответ тестового клиента -
метод
get_json,
который возвращает тело ответа в виде JSON -
атрибут
data,
который хранит тело ответа в виде байтов -
атрибут
text,
который хранит тело ответа в виде строки