Flask 将带路线的Dash应用程序集成到适当的跑步环境中

Flask 将带路线的Dash应用程序集成到适当的跑步环境中,flask,plotly-dash,Flask,Plotly Dash,我正在努力在一个Flask网站中集成一个合适的running Dash应用程序。要么我在理解它是如何工作的方面有问题,要么这只是一个小问题。 每一个提示都是受欢迎的 我的烧瓶环境有以下路径: 它正在调用包含Dash应用程序的函数: 发送请求/短跑测试后给出的结果: 但预期结果是:Dash应用程序将显示。文档中的内容可能会对您有用。它直接处理在烧瓶应用程序中运行Dash。以下是他们提供的小示例: 进口烧瓶 导入破折号 将dash_html_组件导入为html 服务器=flask.flask\u名称

我正在努力在一个Flask网站中集成一个合适的running Dash应用程序。要么我在理解它是如何工作的方面有问题,要么这只是一个小问题。 每一个提示都是受欢迎的

我的烧瓶环境有以下路径: 它正在调用包含Dash应用程序的函数: 发送请求/短跑测试后给出的结果: 但预期结果是:Dash应用程序将显示。

文档中的内容可能会对您有用。它直接处理在烧瓶应用程序中运行Dash。以下是他们提供的小示例:

进口烧瓶 导入破折号 将dash_html_组件导入为html 服务器=flask.flask\u名称__ @服务器。路由“/” def索引: 返回“Hello Flask应用程序” app=dash.dash __姓名, 服务器=服务器, 路由路径名前缀='/dash/' app.layout=html.DivMy Dash应用程序 如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu': app.run_serverdebug=True 这些文件可能对你有用。它直接处理在烧瓶应用程序中运行Dash。以下是他们提供的小示例:

进口烧瓶 导入破折号 将dash_html_组件导入为html 服务器=flask.flask\u名称__ @服务器。路由“/” def索引: 返回“Hello Flask应用程序” app=dash.dash __姓名, 服务器=服务器, 路由路径名前缀='/dash/' app.layout=html.DivMy Dash应用程序 如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu': app.run_serverdebug=True
需要记住的是:当您生成dashapp时,您正在将组件添加到现有的flask应用程序(也称为服务器)。一个合适的解决方案是构建flask应用程序->然后构建具有特定路线的dash应用程序->然后在flask应用程序中构建通往dashapp的路线:

创建创建dashapp的函数 导入破折号 def create_dashappserver: app=dash.dash 服务器=服务器, url_base_pathname='/dashapp/' app.config['suppress\u callback\u exceptions']=True app.title='Dash app' 设置布局 app.layout=layout=html.Div'Hello Dash app' 如果需要,请在此处注册回调。。。 返回应用程序 创建你的应用程序或服务器,其实是一样的 服务器=flask.flask\u名称__ 通过传递函数进行初始化 创建应用服务器 定义索引路由 @服务器。路由“/” def索引: 返回“Hello Flask应用程序” 定义dashapp路由 @server.route'/dashapp/' @需要登录 def重定向到应用程序: 返回重定向“/dashapp/” 最后运行 如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu': app.run_serverdebug=True
需要记住的是:当您生成dashapp时,您正在将组件添加到现有的flask应用程序(也称为服务器)。一个合适的解决方案是构建flask应用程序->然后构建具有特定路线的dash应用程序->然后在flask应用程序中构建通往dashapp的路线:

创建创建dashapp的函数 导入破折号 def create_dashappserver: app=dash.dash 服务器=服务器, url_base_pathname='/dashapp/' app.config['suppress\u callback\u exceptions']=True app.title='Dash app' 设置布局 app.layout=layout=html.Div'Hello Dash app' 如果需要,请在此处注册回调。。。 返回应用程序 创建你的应用程序或服务器,其实是一样的 服务器=flask.flask\u名称__ 通过传递函数进行初始化 创建应用服务器 定义索引路由 @服务器。路由“/” def索引: 返回“Hello Flask应用程序” 定义dashapp路由 @server.route'/dashapp/' @需要登录 def重定向到应用程序: 返回重定向“/dashapp/” 最后运行 如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu': app.run_serverdebug=True
Dash本身就是一个烧瓶应用程序,所以我不确定把它放在另一个烧瓶应用程序中到底能起什么作用。您是否尝试返回app.run_服务器?app.run_服务器不工作:http标头显示请求正确进入,但浏览器未收到任何响应@coralvanda如果应用程序是您的flask应用程序,则app.run_服务器将在@coralvanda->下运行,但如果应用程序是您的dashapp,则不会运行…您是对的@YaakovBressler。我刚刚重试了一下,可以看到:app.run_服务器已经与运行的烧瓶并行启动,烧瓶下的应用程序就像洋葱。。。layers@squeezer44Dash本身就是一个烧瓶应用程序,所以我不确定将它放入另一个烧瓶应用程序中会如何工作。您是否尝试返回app.run_服务器?app.run_服务器不工作:http标头显示请求正确进入,但浏览器未收到任何响应@coralvanda如果应用程序是您的flask应用程序,则app.run_服务器将在@coralvanda->下运行,但如果应用程序是您的dashapp,则不会运行…您是对的@YaakovBressler。我刚刚重试了一下,可以看到:app.run_服务器已经与运行的烧瓶并行启动,烧瓶下的应用程序就像洋葱。。。layers@squeezer44回答得不错!我只是在创建了我的->之后才读到->我们有一个非常类似的方法来解决这个问题。共识->真实性回答不错!我只是在创建我的->我们有一个非常相似的方法后才阅读它
h来解决这个问题。共识->Truthiness因为我有一个已经运行的Flask环境,因为请求将在您的方法中出现,工作50%:两个环境都已启动,但在不同的端口下=50%,它们同时存在。但如果Dash应用程序和Flask在同一个端口下运行,那么它就可以完美地工作。如果两者同时启动,情况就是这样@Yaakov Bressler如果你愿意,你可以指定不同的端口,尽管这会打开一罐蠕虫。因为我确实有一个正在运行的Flask环境,因为请求将在你的方法中出现。工作50%:两个环境都在运行,但在不同的端口下=50%,它们都存在。但如果Dash应用程序和Flask在同一个端口下运行,那么它就可以完美地工作。如果两者同时启动,情况就是这样@Yaakov-Bressler如果愿意,您可以指定不同的端口,尽管这会打开一个蠕虫的罐子。。
@blueprint.route('/dash-test')
@login_required
def dash_test():
    """Integrate the Dash App into the page"""
    server = flask.Flask(__name__)
    return render_template('dashapp-test.html',
                           my_dashapp=my_dash_app(),
                           server=server
                           )
def my_dash_app():

    app = dash.Dash(
        __name__,
        external_stylesheets=['https://codepen.io/chriddyp/pen/bWLwgP.css'],
    )

    app.layout = html.Div(id='example-div-element')
    return app