私は既存のFlask Webアプリケーションを持っています。既存のDashアプリ(a Plotly Flask app)を取り込みたいと思います。 Flask's documentation recommendsとして、私はこれを実現するためにthusly DispatcherMiddleware
を使用しています:FlaskのDispatcherMiddlewareがPlotlyのダッシュでうまくいきません
flask_app = Flask(__name__) # App with both apps attached to it
app = Flask(__name__) # Existing Flask App
dash_app = Dash(__name__) # Dash app
dash_app.config.supress_callback_exceptions = True
# Use DispatcherMiddleware to route separate apps into one
flask_app.wsgi_app = DispatcherMiddleware(app, {'/dash': dash_app.server})
我々はflask_app
実行し終わる:
if __name__ == "__main__":
flask_app.run(debug=True)
しかし、私は127.0.0.1:<port>/dash/
に向かうとき、私が上で表示されるように、エラーを次取得しますWebページ:私はCONSOに以下を参照してください
le log:
127.0.0.1 - - [30/Aug/2017 11:11:02] "GET /dash HTTP/1.1" 301 -
127.0.0.1 - - [30/Aug/2017 11:11:02] "GET /dash/ HTTP/1.1" 200 -
127.0.0.1 - - [30/Aug/2017 11:11:03] "GET /_dash-layout HTTP/1.1" 404 -
127.0.0.1 - - [30/Aug/2017 11:11:03] "GET /_dash-dependencies HTTP/1.1" 404
ダッシュアプリケーション用にレイアウトを正しく読み込むにはどうすればよいですか?
感謝です。これは理にかなっていますが、それがうまく動作するかどうかもっと詳しく説明できますか?ちょっと興味があるんだけど。 –
あなたのコードから、dash_dependenciesはサーバールート( '/')に 'left behind'であり、アプリケーションが存在するパス '/ dash'に移動せず、レイアウトのレンダリングが失敗します。 url_base_pathnameを指定すると、依存関係が指定されたパスに移動します。それが理にかなってほしい! – PeaceLeka