โค้ด: เลือกทั้งหมด
from fastapi import FastAPI
from fastapi.middleware.wsgi import WSGIMiddleware
import uvicorn
from fastapi.staticfiles import StaticFiles
from pathlib import Path
from flask import Flask, render_template
api = FastAPI() # Init FastAPI App
flask_app = Flask(__name__) # Init Flask App
# Mount Flask on FastAPI
api.mount('/', WSGIMiddleware(flask_app))
# Mount static folder on FastAPI
BASE_PATH = Path(__file__).resolve().parent
api.mount(
"/static",
StaticFiles(directory=str(BASE_PATH / "static")),
name="static",
)
# Flask section
# http://127.0.0.1:8000/
@flask_app.get('/')
def predict_page():
return render_template('index.html')
# FastAPI section
# http://127.0.0.1:8000/api
@api.get('/api')
async def read_root():
return {'text': 'FastAPI'}
if __name__ == '__main__':
uvicorn.run(api, host='127.0.0.1', port=8000)