Підключення WSGI - Flask, Django та інші¶
🌐 Переклад ШІ та людьми
Цей переклад виконано ШІ під керівництвом людей. 🤝
Можливі помилки через неправильне розуміння початкового змісту або неприродні формулювання тощо. 🤖
Ви можете покращити цей переклад, допомігши нам краще спрямовувати AI LLM.
Ви можете монтувати застосунки WSGI, як ви бачили в Підзастосунки - монтування, За представником.
Для цього ви можете використати WSGIMiddleware і обгорнути ним ваш застосунок WSGI, наприклад Flask, Django тощо.
Використання WSGIMiddleware¶
Інформація
Для цього потрібно встановити a2wsgi, наприклад за допомогою pip install a2wsgi.
Потрібно імпортувати WSGIMiddleware з a2wsgi.
Потім обгорніть застосунок WSGI (напр., Flask) цим проміжним програмним забезпеченням.
І змонтуйте його під певним шляхом.
from a2wsgi import WSGIMiddleware
from fastapi import FastAPI
from flask import Flask, request
from markupsafe import escape
flask_app = Flask(__name__)
@flask_app.route("/")
def flask_main():
name = request.args.get("name", "World")
return f"Hello, {escape(name)} from Flask!"
app = FastAPI()
@app.get("/v2")
def read_main():
return {"message": "Hello World"}
app.mount("/v1", WSGIMiddleware(flask_app))
Примітка
Раніше рекомендувалося використовувати WSGIMiddleware з fastapi.middleware.wsgi, але тепер його визнано застарілим.
Замість цього радимо використовувати пакет a2wsgi. Використання залишається таким самим.
Просто переконайтеся, що у вас встановлено пакет a2wsgi, і імпортуйте WSGIMiddleware коректно з a2wsgi.
Перевірте¶
Тепер кожен запит за шляхом /v1/ оброблятиметься застосунком Flask.
А решта - FastAPI.
Якщо ви запустите це й перейдете на http://localhost:8000/v1/, ви побачите відповідь від Flask:
Hello, World from Flask!
А якщо ви перейдете на http://localhost:8000/v2, ви побачите відповідь від FastAPI:
{
"message": "Hello World"
}