我正在使用Flask web development教程而且我遇到了几个错误;我的简单Web应用程序正在使用FlaskForm并且我正在尝试验证信息,但是遇到了一些问题,特别是在函数validate_on_submit()中。这是我的python代码
class NameForm(FlaskForm):
name = StringField("What is your name?", validators=[required])
submit = SubmitField('Submit')
@app.route('/index', methods=['GET', 'POST'])
def index():
name = None
formi = NameForm()
if FlaskForm.validate_on_submit():
name = FlaskForm.name.data
FlaskForm.name.data = ''
return render_template('index.html', form=formi, name=name)
我的错误发生在if语句
答案 0 :(得分:1)
您需要从表单实例调用validate_on_submit
而不是类。使用:
if formi.validate_on_submit():
答案 1 :(得分:1)
此错误表示应使用类validate_on_submit
的实例调用FlaskForm
,而不是使用类本身调用,如docs中的此示例所示:
@app.route('/submit', methods=('GET', 'POST'))
def submit():
form = MyForm()
if form.validate_on_submit():
return redirect('/success')
return render_template('submit.html', form=form)
应用于您的代码,行if FlaskForm.validate_on_submit():
应更改为if formi.validate_on_submit():
。