Атрибут status_code
Атрибут status_code принадлежит классу HTTPError и содержит целочисленный HTTP-код состояния (например, 404, 500), который Bottle использует при формировании ответа. Значение доступно как для чтения, так и для изменения после создания исключения.
Синтаксис
error = HTTPError(status, body, exception, traceback)
error.status_code
Пример
Давайте создадим исключение HTTPError и выведем значение его атрибута status_code:
from bottle import Bottle, HTTPError
app = Bottle()
@app.route('/')
def index():
err = HTTPError(404, 'page not found')
return str(err.status_code)
Результат выполнения кода:
"404"
Пример
Давайте изменим код состояния у уже созданного исключения:
from bottle import Bottle, HTTPError
app = Bottle()
@app.route('/')
def index():
err = HTTPError(404, 'page not found')
err.status_code = 500
return str(err.status_code)
Результат выполнения кода:
"500"
Пример
Давайте выбросим исключение HTTPError с кодом 403 и посмотрим, какой статус вернёт сервер:
from bottle import Bottle, HTTPError
app = Bottle()
@app.route('/')
def index():
raise HTTPError(403, 'forbidden')
Результат выполнения кода при обращении к адресу /:
403 Forbidden
forbidden