Fastapi 简明教程
FastAPI - Mounting Flask App
Flask 或 Django 框架中编写的 WSGI 应用程序可以在 WSGIMiddleware 中进行封装,并将其装载到 FastAPI 应用程序上,使其符合 ASGI。
首先在当前 FastAPI 环境中安装 Flask 包。
pip3 install flask
以下代码是一个极简的 Flask 应用程序−
from flask import Flask
flask_app = Flask(__name__)
@flask_app.route("/")
def index_flask():
return "Hello World from Flask!"
然后,将应用程序声明为 FastAPI 应用程序对象,并定义一个操作函数来呈现 Hello World 消息。
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def index():
return {"message": "Hello World from FastAPI!"}
接下来,使用 mount() 方法将 flask 应用程序装载为 FastAPI 主应用程序的子应用程序。
from fastapi.middleware.wsgi import WSGIMiddleware
app.mount("/flask", WSGIMiddleware(flask_app))
运行 Uvicorn 开发服务器。
uvicorn flaskapp:app –reload
FastAPI 主应用程序可在 URL [role="bare"] [role="bare"]http://localhost:8000/ 路由中使用。
{"message":"Hello World from FastAPI!"}
Flask 子应用程序装载在 URL [role="bare"] [role="bare"]http://localhost:8000/flask 上。
Hello World from Flask!