I have two call back in dash app. One call back in returning the layout and another one is for filling and generating the dataframe. So my second call back is not enabling the submit button, i don’t know what’s wrong in it.
@app.callback(Output('output_div-get-ga', 'children'),
[Input('submit-button-get', 'n_clicks')],
[State('get-report', 'value')
],
)
def ga_output(clicks, email_id):
if clicks is not None:
df = pd.read_csv('query_ga.csv')
my_email_id = email_id
dff = df.loc[df['Email ID'].isin(['{}'.format(my_email_id)])]
return html.Div([
dbc.Row([dbc.Col([
dcc.DatePickerSingle(
id='start-date-email',
placeholder="Start Date",
min_date_allowed=datetime.datetime.now().strftime('2018-01-01'),
max_date_allowed=datetime.datetime.today().date(),
display_format='YYYY-MM-DD',
style={'width': '300px'},
persistence=True,
persistence_type='memory',
),
], style={'margin-top': -810, 'margin-left': 200, 'display': 'table-cell', 'verticalAlign': 'middle'})
]),
dbc.Row([dbc.Col([
dcc.DatePickerSingle(
id='end-date-email',
placeholder="End Date",
min_date_allowed=datetime.datetime.now().strftime('2018-01-01'),
max_date_allowed=datetime.datetime.today().date(),
display_format='YYYY-MM-DD',
persistence=True,
persistence_type='memory',
),
], style={'margin-top': -810, 'margin-left': 400, 'display': 'table-cell', 'verticalAlign': 'middle'})]),
dbc.Row([
dbc.Col([
dcc.Dropdown(
id='report_name',
options=[{'label': i, 'value': i} for i in dff['Report Name'].unique()],
persistence=True, persistence_type='memory',
multi=True,
style={'width': '300px'},
placeholder='Report Names'),
], style={'margin-top': -810, 'margin-left': 600, 'display': 'table-cell', 'verticalAlign': 'middle'})
]),
dbc.Row([
dbc.Col([
html.Button(id='submit-button-get-email', type='submit', children='Submit',
style={'width': '300px'}),
], width={"order": "first"},
style={'margin-top': -750, 'margin-left': 350, 'display': 'table-cell', 'verticalAlign': 'middle'}),
dbc.Col([
html.Div(Download(id='output_div-get-ga-email')),
]),
])
])
@app.callback(Output('output_div-get-ga-email', 'data'),
[Input('submit-button-get-email', 'n_clicks')],
[State('start-date-email', 'date'),
State('end-date-email', 'date'),
State('report_name', 'value')],
)
def ga_output(clicks, start_date, end_date, report_name):
if clicks is not None:
df = pd.read_csv('query_ga.csv')
print(df)
my_report_name = report_name
my_start_date = start_date
my_end_date = end_date
print(my_report_name)
print(my_start_date)
print(my_end_date)
1 post - 1 participant