Yeah, you can’t have two callback with the same output property, so in your case => Ouput(‘createDf’, 'data).
You have two put both your input in the same callback. Something like this
@app.callback(
Output('createDf', 'data'),
[Input('button-generate-df', 'n_clicks'),
Input('input-rows-df', 'value')]
def (n_clicks, value) :
your fonction
you may have to use timestamp to know which callback was last activated : Input two or more button - How to tell which button is pressed?
This post may help you,
Quentin