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

Атрибут catchall

Атрибут catchall применяется к приложению Bottle и позволяет назначить функцию, которая будет вызвана при запросе к адресу, не совпавшему ни с одним маршрутом. По умолчанию catchall равен None, и в этом случае Bottle возвращает стандартную ошибку 404. Если присвоить атрибуту функцию, она получит объект запроса и должна вернуть ответ.

Атрибут полезен, когда нужно отдавать собственную страницу 404 или когда все неизвестные адреса должны обрабатываться одним динамическим маршрутом.

Синтаксис

app.catchall = handler

Здесь handler - функция, принимающая объект запроса request и возвращающая ответ.

Пример

Давайте назначим собственный обработчик для всех неизвестных адресов:

from bottle import Bottle app = Bottle() @app.route('/') def index(): return 'hello' def not_found(request): return 'page not found' app.catchall = not_found

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

page not found

Пример

Давайте вернём из обработчика объект ответа HTTPResponse с кодом 404:

from bottle import Bottle, HTTPResponse app = Bottle() @app.route('/') def index(): return 'hello' def not_found(request): return HTTPResponse( body='nothing here', status=404 ) app.catchall = not_found

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

nothing here

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

  • класс Bottle,
    который представляет приложение Bottle
  • метод route,
    который регистрирует обработчик для URL
  • метод match,
    который ищет маршрут по адресу запроса
  • атрибут config,
    который хранит настройки приложения
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить