fastapi/docs/ru/docs/advanced/wsgi.md

2.4 KiB
Raw Blame History

Подключение WSGI — Flask, Django и другие

Вы можете монтировать WSGIприложения, как вы видели в Подприложения — Mounts{.internal-link target=_blank}, За прокси‑сервером{.internal-link target=_blank}.

Для этого вы можете использовать WSGIMiddleware и обернуть им ваше WSGIприложение, например Flask, Django и т.д.

Использование WSGIMiddleware

/// info | Информация

Для этого требуется установить a2wsgi, например с помощью pip install a2wsgi.

///

Нужно импортировать WSGIMiddleware из a2wsgi.

Затем оберните WSGIприложение (например, Flask) в middleware (Промежуточный слой).

После этого смонтируйте его на путь.

{* ../../docs_src/wsgi/tutorial001_py310.py hl[1,3,23] *}

/// note | Примечание

Ранее рекомендовалось использовать WSGIMiddleware из fastapi.middleware.wsgi, но теперь он помечен как устаревший.

Вместо него рекомендуется использовать пакет a2wsgi. Использование остаётся таким же.

Просто убедитесь, что пакет a2wsgi установлен, и импортируйте WSGIMiddleware из a2wsgi.

///

Проверьте

Теперь каждый HTTPзапрос по пути /v1/ будет обрабатываться приложением Flask.

А всё остальное будет обрабатываться FastAPI.

Если вы запустите это и перейдёте по http://localhost:8000/v1/, вы увидите HTTPответ от Flask:

Hello, World from Flask!

А если вы перейдёте по http://localhost:8000/v2, вы увидите HTTPответ от FastAPI:

{
    "message": "Hello World"
}