在Flask应用程序中运行Dash应用程序

我有一个现有的Flask应用程序,并且想找到通往另一个应用程序的路线。更具体地说,第二个应用程序是Plotly Dash应用程序。如何在现有的Flask应用程序中运行Dash应用程序?

@app.route('/plotly_dashboard') 

def render_dashboard():

# go to dash app

我还尝试将路由添加到Dash实例,因为它是Flask应用程序,但出现错误:

AttributeError: 'Dash' object has no attribute 'route'

回答:

从文档:

基本的Flask应用程序可从访问app.server。

import dash

app = dash.Dash(__name__)

server = app.server

你还可以将自己的Flask应用实例传递到Dash中:

import flask

server = flask.Flask(__name__)

app = dash.Dash(__name__, server=server)

现在有了Flask实例,你可以添加所需的任何路由和其他功能。

@server.route('/hello')

def hello():

return 'Hello, World!'

对于一个更笼统的问题,“我如何才能彼此相邻地服务两个Flask实例”,假设你最终没有像上面的Dash答案那样使用一个实例,则可以使用DispatcherMiddleware这两个应用程序。

dash_app = Dash(__name__)

flask_app = Flask(__name__)

application = DispatcherMiddleware(flask_app, {'/dash': dash_app.server})

以上是 在Flask应用程序中运行Dash应用程序 的全部内容, 来源链接: utcz.com/qa/434627.html

回到顶部