Метод get_body
Метод get_body применяется к экземпляру класса HTTPException
и возвращает тело ответа, которое будет отправлено клиенту.
Метод принимает необязательный параметр environ - словарь окружения WSGI,
который может использоваться для формирования тела ответа.
Если параметр не передан, возвращается стандартное тело исключения.
Синтаксис
exception.get_body([environ])
Пример
Давайте создадим исключение NotFound и получим его тело:
from flask import Flask
from werkzeug.exceptions import NotFound
app = Flask(__name__)
exc = NotFound()
res = exc.get_body()
print(res)
Результат выполнения кода:
"<!doctype html>\n<html lang=en>\n<title>404 Not Found</title>\n<h1>Not Found</h1>\n<p>The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.</p>\n"
Пример
Давайте переопределим тело исключения через параметр description
и получим его методом get_body:
from flask import Flask
from werkzeug.exceptions import BadRequest
app = Flask(__name__)
exc = BadRequest(description='Invalid input data')
res = exc.get_body()
print(res)
Результат выполнения кода:
"<!doctype html>\n<html lang=en>\n<title>400 Bad Request</title>\n<h1>Bad Request</h1>\n<p>Invalid input data</p>\n"
Пример
Давайте выбросим исключение NotFound в обработчике
и посмотрим, какое тело вернётся клиенту:
from flask import Flask, abort
app = Flask(__name__)
@app.route('/user')
def user():
abort(404)
Результат выполнения кода для адреса /user:
<!doctype html>
<html lang=en>
<title>404 Not Found</title>
<h1>Not Found</h1>
<p>The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.</p>
Смотрите также
-
класс
HTTPException,
который является базовым для всех HTTP-исключений -
метод
get_response,
который возвращает полный объект ответа -
метод
get_headers,
который возвращает заголовки ответа -
метод
get_description,
который возвращает описание исключения