Диспечер приложений
Этот модуль создаёт одно WSGI-приложение, которое перенаправляет запросы к другим WSGI-приложениям, установленным по различным URL-путям.
Частый пример — создание Single Page Application (SPA), где у вас есть бэкэнд API и фронтенд на JavaScript, выполняющий маршрутизацию в браузере вместо запроса разных страниц от сервера. Фронтенд представлен одним файлом HTML и JS, который должен обслуживаться по любому пути, кроме “/api”.
В этом примере запросы перенаправляются к приложению API под “/api”, приложению администрирования под “/admin” и приложению, обслуживающему фронтенд-файлы, для всех остальных запросов:
app = DispatcherMiddleware(serve_frontend, {
'/api': api_app,
'/admin': admin_app,
})
В производстве вы, возможно, будете обрабатывать это на уровне HTTP-сервера, обслуживая файлы или проксируя запросы к приложениям на основе расположения. Приложения API и администрирования будут развернуты с отдельными WSGI-серверами, а статические файлы будут обслуживаться напрямую HTTP-сервером.
-
class werkzeug.middleware.dispatcher.DispatcherMiddleware(app, mounts=None) -
Объединяет несколько приложений в одно WSGI-приложение. Запросы перенаправляются к приложению на основе пути, под которым оно установлено.
© 2007 Pallets
Licensed under the BSD 3-clause License.
https://werkzeug.palletsprojects.com/en/latest/middleware/dispatcher/