class NewPostForm(FlaskForm): title = StringField('Title', validators=[DataRequired(), Length(1, 50)]) body = TextAreaField('Body', validators=[DataRequired()]) save = SubmitField('Save') publish = SubmitField('Publish')
@app.route('/two-submits', methods=['GET', 'POST']) def two_submits(): form = NewPostForm() if form.validate_on_submit(): if form.save.data: # save it... flash('You click the "Save" button.') elif form.publish.data: # publish it... flash('You click the "Publish" button.') return redirect(url_for('index')) return render_template('2submit.html', form=form)
{% extends 'base.html' %} {% from 'macros.html' import form_field %}
{% block content %} <h2>Multiple Submit Buttons</h2>
<form method="post"> {{ form.csrf_token }} {{ form_field(form.title) }} {{ form_field(form.body) }} {{ form.save }} {{ form.publish }} </form> {% endblock %}