Spec-Zone.ru › Werkzeug 0.15

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

Этот модуль создает одно WSGI-приложение, которое распределяет запросы к нескольким другим WSGI-приложениям, смонтированным по различным URL-путям.

Частый пример — создание одностраничного приложения (Single Page Application), где у вас есть бэкэнд-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.15.x/middleware/dispatcher/

Spec-Zone.ru

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