I'm trying to run a dash app on the FastAPI in the following way:
from dash import Dash, dcc, html, Input, Output
from flask import session, redirect, request, url_for, Response, Flask
from fastapi import FastAPI
import uvicorn
from fastapi.middleware.wsgi import WSGIMiddleware
dash_app = Dash(__name__, server=Flask(__name__))
dash_app.layout = html.Div('layout things ...')
@dash_app.callback(
Output("e_graph", "figure"),
Input("dropdown", "value"), )
@dash_app.server.route("/", methods=["GET", "POST"])
def update_graph(dropdown_, data=data):
# update logic
return fig
app = FastAPI()
app.mount("/v1", WSGIMiddleware(dash_app.server))
if __name__ == "__main__":
uvicorn.run('main:app', port=8000, host="127.0.0.1", reload=True, debug=True)
This give me traceback like these:
127.0.0.1:56043 - GET /_dash-component-suites/dash/deps/polyfill%407.v2_5_1m1655745108.12.1.min.js HTTP/1.1 404 Not Found
127.0.0.1:56044 - GET /_dash-component-suites/dash/deps/react%4016.v2_5_1m1655745108.14.0.min.js HTTP/1.1 404 Not Found
127.0.0.1:56043 - GET /_dash-component-suites/dash/dcc/dash_core_components-shared.v2_5_0m1655745108.js HTTP/1.1 404 Not Found
127.0.0.1:56048 - GET /_dash-component-suites/dash/deps/react-dom%4016.v2_5_1m1655745108.14.0.min.js HTTP/1.1 404 Not Found
127.0.0.1:56051 - GET /_dash-component-suites/dash/dcc/dash_core_components.v2_5_0m1655745108.js HTTP/1.1 404 Not Found
127.0.0.1:56049 - GET /_dash-component-suites/dash/deps/prop-types%4015.v2_5_1m1655745108.8.1.min.js HTTP/1.1 404 Not Found
127.0.0.1:56050 - GET /_dash-component-suites/dash/dash-renderer/build/dash_renderer.v2_5_1m1655745108.min.js HTTP/1.1 404 Not Found
127.0.0.1:56044 - GET /_dash-component-suites/dash/html/dash_html_components.v2_0_3m1655745108.min.js HTTP/1.1 404 Not Found
Apparently dash is not able to access its stuff while running on the mounted flask app. Has anyone successfully tried to mount a dash app in a similar way?