Подключение WSGI — Flask, Django и другие¶
🌐 Перевод выполнен с помощью ИИ и людей
Этот перевод был сделан ИИ под руководством людей. 🤝
В нем могут быть ошибки из-за неправильного понимания оригинального смысла или неестественности и т. д. 🤖
Вы можете улучшить этот перевод,помогая нам лучше направлять ИИ LLM.
Вы можете монтировать WSGI‑приложения, как вы видели вПодприложения — Mounts,За прокси‑сервером.
Для этого вы можете использоватьWSGIMiddleware и обернуть им ваше WSGI‑приложение, например Flask, Django и т.д.
ИспользованиеWSGIMiddleware¶
Информация
Для этого требуется установитьa2wsgi, например с помощьюpip install a2wsgi.
Нужно импортироватьWSGIMiddleware изa2wsgi.
Затем оберните WSGI‑приложение (например, Flask) в middleware (Промежуточный слой).
После этого смонтируйте его на путь.
froma2wsgiimportWSGIMiddlewarefromfastapiimportFastAPIfromflaskimportFlask,requestfrommarkupsafeimportescapeflask_app=Flask(__name__)@flask_app.route("/")defflask_main():name=request.args.get("name","World")returnf"Hello,{escape(name)} from Flask!"app=FastAPI()@app.get("/v2")defread_main():return{"message":"Hello World"}app.mount("/v1",WSGIMiddleware(flask_app))Примечание
Ранее рекомендовалось использовать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"}






