在视图函数中,表单用法示例如下:
@app.route('/register', methods=['GET', 'POST'])
def register():
form = RegistrationForm(request.form)
if request.method == 'POST' and form.validate():
user = User(form.username.data, form.email.data,
form.password.data)
db_session.add(user)
flash('Thanks for registering')
return redirect(url_for('login'))
return render_template('register.html', form=form)
注意,这里我们默认视图使用了 SQLAlchemy ( 在 Flask 中使用 SQLAlchemy ),当然这 不是必须的。请根据你的实际情况修改代码。
请记住以下几点:
如果数据是通过 HTTP POST 方法提交的,请根据 form 的 值创建表单。如果是通过 GET 方法提交的,则相应的是 args 。
调用 validate() 函数来验证数据。如果验证通过,则 函数返回 True
,否则返回 False 。
通过 form.<NAME>.data 可以访问表单中单个值。
//以上内容来自http://dormousehole.readthedo...,这里来说调用validate()函数来验证数据,它的验证规则是什么?是否为空还是什么?谢谢!
在你定义RegistrationForm的时候,里面的某些Field字段会有 validators参数,validate()方法的验证规则便是根据这个的(如果它没被重载的话)