一起学习python flask之三:用flask_wtf轻松实现表单

在 Flask-WTF 中,表单是表示成对象,是FlaskForm类的子类。一个表单子类简单地把表单的域定义成类的变量。

一起学习python flask之三:用flask_wtf轻松实现表单

从上述代码可看出,我们定义了一个LoginForm,且继承了FlaskForm类,它直接使用StringField等对象作为自己的成员变量。

这里还是要推荐下小编的Python学习群:483546416,不管你是小白还是大牛,小编我都欢迎,不定期分享干货,包括小编自己整理的一份2017最新的Python资料和0基础入门教程,欢迎初学和进阶中的小伙伴。在不忙的时间我会给大家解惑。

有了这个LoginForm之后,我们需要在用户打开login页面时实例化这个类,并把这个类中包含的username等元素显示在网页上。因此,实例化就应该在view.py中的route所对应的函数中。

一起学习python flask之三:用flask_wtf轻松实现表单

参考上述代码,实例化完成之后,开始渲染login.html网页,并把form对象作为参数传入该网页。接下来就看login.html模板中如何处理form对象了。

一起学习python flask之三:用flask_wtf轻松实现表单

处理过程非常简单,就是把username等对象的label及其对应的实体显示在网页上即可。flask_wtf已经把必要的信息都封装在相应的对象里了,因此模板页面就十分简洁。

最后怎么接收表单post的数据呢?也很简单。form.validate_on_submit函数在数据验证通过并且用户按了submit之后返回true,否则返回false。这个函数也是flask_wtf为web应用量身定做的。

一起学习python flask之三:用flask_wtf轻松实现表单

假如validate_on_submit返回true,那么说明用户输入有效且已经完成,我们就可以拿着用户名和密码去数据库中比对了。由于数据库部分还没有实现,这里直接重定向到index页面,并通过flash函数显示获取到的post参数。

大体上,一个login的表单处理就完成了,使用flask_wtf之后明显代码简洁了,逻辑清晰了。

出处:https://blog.csdn.net/qq_41396296/article/details/79363763

猜你喜欢

转载自blog.csdn.net/JackLiu16/article/details/82660800