Created
June 2, 2020 16:18
-
-
Save hartzell/4a7a6c1e613c1fd75aa8342936ad70ec to your computer and use it in GitHub Desktop.
Simple sample Dash uploader script, sometimes complains 'Failed to fetch'
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import dash | |
import dash_core_components as dcc | |
import dash_html_components as html | |
from dash.dependencies import Input, Output, State | |
from flask import Flask | |
server = Flask(__name__) | |
app = dash.Dash(server=server) | |
app.layout = html.Div( | |
[ | |
dcc.Store(id="jobs-store"), | |
html.H1("Primer Designer"), | |
html.H2("Upload"), | |
dcc.Upload( | |
id="upload-data", | |
children=html.Div( | |
["Drag and drop or click to select a file to upload."] | |
), | |
style={ | |
"width": "100%", | |
"height": "60px", | |
"lineHeight": "60px", | |
"borderWidth": "1px", | |
"borderStyle": "dashed", | |
"borderRadius": "5px", | |
"textAlign": "center", | |
"margin": "10px", | |
}, | |
multiple=True, | |
), | |
html.Ul(id="file-list"), | |
], | |
style={"max-width": "500px"}, | |
) | |
@app.callback(Output("file-list", "children"), [Input("jobs-store", "data")]) | |
def updatelist(data): | |
children = [] | |
if data is not None: | |
children = [html.Li(j) for j in data] | |
return children | |
@app.callback( | |
Output("jobs-store", "data"), | |
[Input("upload-data", "contents")], | |
[State("upload-data", "filename"), State("upload-data", "last_modified"),], | |
) | |
def update_output(list_of_contents, list_of_names, list_of_dates): | |
"""Save uploaded files and regenerate the file list.""" | |
if list_of_contents is not None: | |
children = [ | |
n | |
for c, n, d in zip(list_of_contents, list_of_names, list_of_dates) | |
] | |
print(children) | |
return children | |
if __name__ == "__main__": | |
app.run_server(debug=True, port=8888, host="172.16.193.97") |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment