Flask_wtf是Flask的一个表单扩展,对于表单验证比较方便。当然刚看了Flask web开发的前4章,很多东西还不是很懂,今天才知道。
原来wtf是wtform的缩写,而wtform是另外一个表单模块。这样对它们俩的关系就稍微清楚一些。
之前只是看了字符串领域和提交领域,所以今天看到文件Field就有点摸不着头脑,它们的共性是什么呢?
根据模型、控制器和视图的分工,这几个Field明显是模型,定义了自身是什么类型,有的是字符串,有的是email,有的是数字,有的是UUID。
明显他们只是数据,不可能单独发挥作用,那么路由和视图函数就是控制器。例如:当用户提交有效数据时,通过form.name
把name参数传给Jinja2模板。
现在Jinja2可以使用name参数了,可以使用类似``{% if %}name这样的条件判断,来做用户欢迎界面。
然后模板继续使用import bootstrap/wtf.html as wtf
后,再用``wtf.quick_form(form)来把Jinja2的模板变得统一好看起来。