Spec-Zone.ru › Werkzeug 0.16

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

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

Параметры:
  • app – WSGI-приложение, к которому перенаправляются запросы, если запрашиваемый путь не соответствует смонтированному.
  • mounts – Сопоставляет префиксы путей с приложениями для перенаправления.

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

Spec-Zone.ru

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