Я уже знаю о следующем подходе (ссылка здесь ):
server = Flask(__name__)
app = dash.Dash(server=server)
@server.route("/download/<path:path>")
def download(path):
"""Serve a file from the upload directory."""
return send_from_directory(UPLOAD_DIRECTORY, path, as_attachment=True)
Но проблема в том, что когда я использую многостраничный подход, подобный предложенному из Plotly (ссылка здесь (ниже «Структурирование многостраничного приложения» - index.py
)):
app.layout = html.Div([
dcc.Location(id='url', refresh=False),
html.Div(id='page-content')
])
@app.callback(Output('page-content', 'children'),
[Input('url', 'pathname')])
def display_page(pathname):
if pathname == '/apps/app1':
return app1.layout
elif pathname == '/apps/app2':
return app2.layout
else:
return '404'
Я не могу использовать server.route
, потому что он будет пойман показанным callback
выше.
Каков наилучший способ сделать файлы загружаемыми?