Movatterモバイル変換


[0]ホーム

URL:


跳转至
Join theFastAPI Cloud waiting list 🚀
Follow@fastapi onX (Twitter) to stay updated
FollowFastAPI onLinkedIn to stay updated
Subscribe to theFastAPI and friends newsletter 🎉
sponsor
sponsor
sponsor
sponsor
sponsor
sponsor
sponsor
sponsor
sponsor
sponsor
sponsor

包含 WSGI - Flask,Django,其它

🌐 由 AI 与人类协作翻译

本翻译由人类引导的 AI 生成。🤝

可能存在误解原意或不够自然等问题。🤖

你可以通过帮助我们更好地引导 AI LLM来改进此翻译。

英文版本

您可以挂载 WSGI 应用,正如您在子应用 - 挂载在代理之后 中所看到的那样。

为此, 您可以使用WSGIMiddleware 来包装你的 WSGI 应用,如:Flask,Django,等等。

使用WSGIMiddleware

信息

需要安装a2wsgi,例如使用pip install a2wsgi

您需要从a2wsgi 导入WSGIMiddleware

然后使用该中间件包装 WSGI 应用(例如 Flask)。

之后将其挂载到某一个路径下。

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))

注意

之前推荐使用fastapi.middleware.wsgi 中的WSGIMiddleware,但它现在已被弃用。

建议改用a2wsgi 包,使用方式保持不变。

只要确保已安装a2wsgi 包,并且从a2wsgi 正确导入WSGIMiddleware 即可。

检查

现在,所有定义在/v1/ 路径下的请求将会被 Flask 应用处理。

其余的请求则会被FastAPI 处理。

如果你运行它并访问http://localhost:8000/v1/,你将会看到由 Flask 返回的响应:

Hello, World from Flask!

如果你访问http://localhost:8000/v2,你将会看到由 FastAPI 返回的响应:

{"message":"Hello World"}

[8]ページ先頭

©2009-2026 Movatter.jp