Flask Python Buttons Flask Python Buttons flask flask

Flask Python Buttons


Give your two buttons the same name and different values:

<input type="submit" name="submit_button" value="Do Something"><input type="submit" name="submit_button" value="Do Something Else">

Then in your Flask view function you can tell which button was used to submit the form:

def contact():    if request.method == 'POST':        if request.form['submit_button'] == 'Do Something':            pass # do something        elif request.form['submit_button'] == 'Do Something Else':            pass # do something else        else:            pass # unknown    elif request.method == 'GET':        return render_template('contact.html', form=form)


The appropriate way for doing this:

@app.route('/')def index():    if form.validate_on_submit():        if 'download' in request.form:            pass # do something        elif 'watch' in request.form:            pass # do something else

Put watch and download buttons into your template:

<input type="submit" name="download" value="Download"><input type="submit" name="watch" value="Watch">


In case anyone was still looking and came across this SO post like I did.

<input type="submit" name="open" value="Open"><input type="submit" name="close" value="Close">

def contact():    if "open" in request.form:        pass    elif "close" in request.form:        pass    return render_template('contact.html')

Simple, concise, and it works. Don't even need to instantiate a form object.