Mounting Dash application on FastAPI

Viewed 87

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?

0 Answers
Related