Python 3.x 在短划线中的回调中包含日期选择器时出错

Python 3.x 在短划线中的回调中包含日期选择器时出错,python-3.x,plotly-dash,Python 3.x,Plotly Dash,我正在使用QuandlAPI,希望编写一个回调来更新图中显示的数据和日期范围 首先,我定义了一个函数来获取所需的数据: def indicator_select(indi='NY_GDS_TOTL_ZS',coun='WLD'): quandl.ApiConfig.api_key = key data=quandl.get(f'WWDI/{coun}_{indi}') return data 接下来,我加入了datepickerage,如下所示: html.Div([

我正在使用QuandlAPI,希望编写一个回调来更新图中显示的数据和日期范围

首先,我定义了一个函数来获取所需的数据:

def indicator_select(indi='NY_GDS_TOTL_ZS',coun='WLD'):
    quandl.ApiConfig.api_key = key
    data=quandl.get(f'WWDI/{coun}_{indi}')
    return data
接下来,我加入了
datepickerage
,如下所示:

html.Div([
    dcc.DatePickerRange(
            id='date-picker1',
            min_date_allowed=datetime(1970, 1, 1),
            max_date_allowed=datetime.today(),
            start_date = datetime(1970, 1, 1),
            end_date = datetime.today()
            )
        ])
最后,我编写了回调函数——在包含日期组件之前,它运行良好。仅对于数据,它正在按预期更新图形

@app.callback(Output(component_id='graph1', 
                    component_property='figure'),
              [Input(component_id='country-list1', 
                    component_property='value'),
              Input(component_id='indicator-list1', 
                    component_property='value'),
              Input(component_id='date-picker1', component_property='start_date'),
              Input(component_id='date-picker1', component_property='end_date')])

def update_graph(start_date,end_date,indi=indicator_options,coun=country_options):
    df = indicator_select(coun, indi)
    df = df.loc[start_date: end_date]
    graph_content = dict(data=line_plot(df),
                        layout=go.Layout(
                            title=str(country.loc[indi, "Country"]) + 
                                    ' - ' + 
                                    str(indicator.loc[coun, "INDICATOR"]),
                            yaxis=dict(hoverformat='.1f',
                                    showgrid=False),
                            paper_bgcolor='#F7F7F7',
                            plot_bgcolor='#F7F7F7',
                            )
                        )
    return graph_content
因此,我收到以下错误消息:

quandl.errors.quandl_error.NotFoundError:(状态404)(quandl error QECx02)您提交了错误的quandl代码。请检查您的Quandl代码,然后重试。


我很难理解为什么当我在回调中包含开始和结束日期时,它会返回此错误,而当我删除日期时,它会正常工作。

问题在于输入的顺序。您将日期添加到
输入列表的末尾,但将其作为函数中的第一个参数。应该是这样的:

@app.callback(输出(component_id='graph1',
组件_property='figure'),
[输入(组件id='country-list1',
组件_property='value'),
输入(组件id='indicator-list1',
组件_property='value'),
输入(组件\u id='date-picker1',组件\u属性='start\u date'),
输入(组件\u id='date-picker1',组件\u属性='end\u date'))
def更新图表(indi=指标选项,CONN=国家选项,开始日期,结束日期):
#func的内容

谢谢!成功了。