我在下面有一个简单的wt-form类。除了提交按钮,我还需要一个取消按钮,让用户返回主页。有没有办法在课堂中加入这个?
我尝试编写一个函数并将其传递给SubmitField(标记为取消),但它似乎无法正常工作。这是我的代码:
P.s:我正在使用wtf.quick_form(表单)处理表单,如果这与此问题有任何关联
class RegistrationForm(FlaskForm):
username = StringField('Username', validators=[DataRequired(), Length(3, 16, message='3 to 6 Characters'), user_exists])
email = StringField('Email', validators=[DataRequired(), Email(), email_exists])
password = PasswordField('Password', validators=[DataRequired(), Length(5), EqualTo('confirm', message='Password Must Match')])
confirm = PasswordField('Confirm Password', validators=[DataRequired()])
submit = SubmitField('Submit')
# cancel = SubmitField('Cancel', validators=([go_back])
答案 0 :(得分:0)
您可以在视图中处理它。当用户按下“提交”按钮时,form.submit.data
设置为True
。同样,当按下“取消”时,form.cancel.data
设置为True
。
这是一个最简单的例子来说明这一点:
forms.py
class RegistrationForm(FlaskForm):
# ...
submit = SubmitField('Submit')
cancel = SubmitField('Cancel')
views.py
@app.route('/register', methods=['GET', 'POST'])
def register():
form = RegistrationForm()
if form.validate_on_submit():
# The user pressed the "Submit" button
if form.submit.data:
# ...
# The user pressed the "Cancel" button
else:
return redirect(url_for('homepage'))
return render_template('register.html', form=form)