Python 3.x dash应用程序中出现重复的回调输出错误
我在dash应用程序中遇到错误。错误:“您已经为ID为“prediction”且属性为“children”的输出分配了回调。输出只能有一个回调函数。请尝试将输入和回调函数组合到一个函数中。” 我的代码中只有一个回调函数 如何解决这个问题 我的代码如下:Python 3.x dash应用程序中出现重复的回调输出错误,python-3.x,callback,plotly-dash,Python 3.x,Callback,Plotly Dash,我在dash应用程序中遇到错误。错误:“您已经为ID为“prediction”且属性为“children”的输出分配了回调。输出只能有一个回调函数。请尝试将输入和回调函数组合到一个函数中。” 我的代码中只有一个回调函数 如何解决这个问题 我的代码如下: model_data = pd.read_csv("data.csv") style = {'padding': '1.5em'} app.layout = html.Div([ dcc.Markdown(&
model_data = pd.read_csv("data.csv")
style = {'padding': '1.5em'}
app.layout = html.Div([
dcc.Markdown("""
### Predict
"""),
html.Div(id='prediction-content', style={'fontWeight': 'bold'}),
html.Div([
dcc.Markdown('###### Input1'),
dcc.Dropdown(
id='Input1',
options=[{'label': 1, 'value': 1}],
value= 1
),
], style=style),
html.Div([
dcc.Markdown('###### Input2'),
dcc.Slider(
id='Input2',
min=23,
max=27,
step=0.5,
value=23,
tooltip={'always_visible': True},
marks={
23: {'label': '23'},
24: {'label': '24'},
25: {'label': '25'},
26: {'label': '26'}
},
included=False
)
], style=style),
html.Div([
dcc.Markdown('###### Input3'),
dcc.Slider(
id='Input3',
min=10,
max=50,
step=1,
value=30,
tooltip={'always_visible': True},
marks={
10: {'label': '10'},
20: {'label': '20'},
30: {'label': '30'},
40: {'label': '40'},
50: {'label': '50'}
},
included=False
)
], style=style),
])
@app.callback(
Output('prediction-content', 'children'),
[Input('Input1', 'value'),
Input('Input2', 'value'),
Input('Input3', 'value')])
def predict(a, b, c):
data2 = pd.DataFrame(data = [[a, b, c,]],
columns = ['Input1', 'Input2','Input3']
, index = [36])
data3 = model_data.combine_first(data2)
#### full function hidden due to confidentiality
def calculate(df,i,j):
###
####
return(a1)
output = a1*2
results = f'Result is ${output:,.0f}.'
return results
if __name__ == '__main__':
app.run_server(debug=True)
我在使用Jupiter notebook时也遇到了同样的问题,但通过关闭服务器并重新启动内核解决了这个问题。我假设回调函数只分配了一次函数,如果您再次尝试重新分配函数,它就会通过这个错误。我猜只有在您使用热重新加载时才会抛出此错误。您能否发布一个完整的、产生错误的最小示例?@emher,谢谢您的回复。这是一个完整的例子。我刚刚屏蔽了一个函数(由于机密性问题),它执行一次计算。我使用滑块选项输入输入,但无法获得所需的输出。输出应返回最终计算值。相反,我得到了重复的回调错误。我的代码中只有一个回调函数。