Spec-Zone.ru › Werkzeug 1.0

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

Этот middleware создаёт одно 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/1.0.x/middleware/dispatcher/

Spec-Zone.ru

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