Spec-Zone.ru › Werkzeug 2.1

Диспечер приложений

Этот middleware создаёт одно 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-приложение. Запросы перенаправляются к приложению на основе пути, под которым оно установлено.

Параметры
  • app (WSGIApplication) – WSGI-приложение, к которому перенаправляются запросы, если запрашиваемый путь не соответствует установленному.
  • mounts (Optional[Dict[str, WSGIApplication]]) – Сопоставляет префиксы путей с приложениями для перенаправления.
Тип возвращаемого значения

None

© 2007–2022 Pallets
Licensed under the BSD 3-clause License.
https://werkzeug.palletsprojects.com/en/2.1.x/middleware/dispatcher/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API