Диспечер приложений
Этот модуль создаёт одно WSGI-приложение, которое перенаправляет запросы к нескольким другим WSGI-приложениям, установленным по разным URL-путям.
Частый пример — разработка одностраничного приложения, где у вас есть бэкенд-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–2022 Pallets
Licensed under the BSD 3-clause License.
https://werkzeug.palletsprojects.com/en/2.3.x/middleware/dispatcher/