You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 13:05:19