Dash开发报错:'Dash' object has no attribute 'html' 求助
解决Dash报错:'Dash' object has no attribute 'html'
你遇到的错误根源是代码里错误地通过app.html.Div调用HTML组件——实际上你已经通过import dash_html_components as html导入了html组件,直接使用html.Div即可,无需通过app对象调用。
修正后的完整代码
import dash from dash.dependencies import Input, Output import dash_html_components as html import dash_core_components as dcc import pandas as pd app = dash.Dash() app.layout = html.Div([ # 移除app.html前缀,直接使用html.Div html.H1('Training Data Set'), dcc.Upload(id='upload-training-data', children=html.Div([ 'Drag and Drop or ', html.A('Select Files') ])), html.H1('Meta Data'), dcc.Upload(id='upload-meta-data', children=html.Div([ 'Drag and Drop or ', html.A('Select Files') ])), html.H1('Validation Data Set'), dcc.Upload(id='upload-validation-data', children=html.Div([ 'Drag and Drop or ', html.A('Select Files') ])) ]) # 必须添加这段代码才能启动Dash服务器 if __name__ == '__main__': app.run_server(debug=True)
额外优化提示
Dash 2.x及以上版本推荐更简洁的组件导入方式,替代旧版的dash_html_components和dash_core_components,可以改成如下写法:
from dash import Dash, html, dcc, Input, Output import pandas as pd app = Dash() app.layout = html.Div([ html.H1('Training Data Set'), dcc.Upload(id='upload-training-data', children=html.Div([ 'Drag and Drop or ', html.A('Select Files') ])), html.H1('Meta Data'), dcc.Upload(id='upload-meta-data', children=html.Div([ 'Drag and Drop or ', html.A('Select Files') ])), html.H1('Validation Data Set'), dcc.Upload(id='upload-validation-data', children=html.Div([ 'Drag and Drop or ', html.A('Select Files') ])) ]) if __name__ == '__main__': app.run_server(debug=True)
内容的提问来源于stack exchange,提问作者Vijaya Kumar
相关产品推荐
相关产品推荐

