РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
80 of 643 menu

Атрибут routing_exception

Атрибут routing_exception применяется к объекту запроса request и содержит исключение, которое возникло во время маршрутизации. Если маршрут был найден успешно, значением атрибута будет None. Если же Flask не смог сопоставить URL с каким-либо маршрутом, в этом атрибуте окажется объект исключения, например NotFound или MethodNotAllowed. Это бывает полезно при обработке ошибок, когда нужно узнать причину, по которой запрос не был обработан.

Синтаксис

request.routing_exception

Пример

Давайте посмотрим, что содержит атрибут при успешной маршрутизации:

from flask import Flask, request app = Flask(__name__) @app.route('/') def index(): return str(request.routing_exception)

Результат выполнения кода для адреса /:

None

Пример

Давайте обработаем ошибку 404 и выведем тип исключения из атрибута routing_exception:

from flask import Flask, request app = Flask(__name__) @app.errorhandler(404) def not_found(error): exc = request.routing_exception return 'exception: ' + type(exc).__name__

Результат выполнения кода для несуществующего адреса /abcde:

exception: NotFound

Пример

Давайте проверим атрибут при обращении к маршруту методом, который не разрешён:

from flask import Flask, request app = Flask(__name__) @app.route('/user', methods=['POST']) def user(): return 'hello' @app.errorhandler(405) def not_allowed(error): exc = request.routing_exception return 'exception: ' + type(exc).__name__

Результат выполнения кода при GET-запросе на адрес /user:

exception: MethodNotAllowed

Смотрите также

  • класс Request,
    который представляет объект запроса
  • атрибут endpoint,
    который хранит имя сработавшего обработчика
  • атрибут view_args,
    который хранит аргументы представления
  • атрибут url,
    который хранит полный адрес запроса
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить