首页 > 解决方案 > Dash 与 Flask App 集成的路由问题

问题描述

我最初构建了一个我试图在 Flask 环境中运行的仪表板应用程序。我需要用户身份验证,因此将 dash 集成到烧瓶登录组件的烧瓶应用程序中。

当我运行该应用程序时,登录工作正常,但是,我在为我的多页破折号应用程序配置路由时遇到了问题。

这是应用程序文件结构:

index.py中,应用程序布局是使用页面链接定义的。“主页”是应用程序加载时的默认页面。

import flask
from app import app
from auth.server import server


# App Layout
app.layout = html.Div([

        dcc.Link(
            'Home',
            href='/home'
        ),


        dcc.Link(
            'Archive',
            href='/archive'
        ),

        dcc.Location(id='url'),

        html.Div(id='page-content'),

       
])


# Render page content
@app.callback(Output("page-content", "children"),
              [
                Input('url', 'pathname')
              ]
             )
def display_content(pathname):

    if pathname == '/home':
        return home.layout

    elif pathname == '/archive':
        return archive.layout()

的内容app.py

app = dash.Dash(__name__,
                url_base_pathname='/home/',
                #routes_pathname_prefix='/dashboard/',
               )

的内容init.py

from .server import server
from index import app as dashApp

app = DispatcherMiddleware(server, {
                           '/dashboard': dashApp.server,
                           #add dash routes
})

if __name__ == '__main__':
    run_simple('0.0.0.0', 5000, app)

的内容server.py

from flask import Flask

server = Flask(__name__,instance_relative_config=False)

如何为 dash 应用程序配置路由?当我404 Not Found尝试访问 dash 应用程序时出现错误。用户/身份验证部分工作正常。

标签: pythonflaskplotly-dashflask-login

解决方案


推荐阅读