1.表单类
使用Flask-WTF时,每个web表单都由继承自Form的类表示。这个类定义表单中的一组字段,每个字段都用对象表示。字段对象可以附属一个或多个验证函数。验证函数用来验证用户所提交的数据是否符合要求。
hello.py:定义表单类
StringField类表示属性为 type="text" 的 <input>元素。它的构造函数中的可选参数validators指定一个由验证函数组成的列表,在用户提交数据前验证其数据是否符合规范。from flask_wtf import Form from wtforms import StringField, SubmitField from wtforms.validators import Required class NameForm(Form): name = StringField('What is your name ?',validators=[Required()]) submit = SubmitField('Submit')
Required()验证函数:确保提交的字段不为空。
SubmitField类表示属性为 type="submit" 的 <input>元素。
2.把表单渲染成HTML
表单字段在模板中调用就会被渲染成HTML。条件允许情况下最好能使用Bootstrap中的表单样式。Flask-Bootstrap提供了一个辅助函数,可以一次调用从而渲染整个Flask-WTF表单。例:
bootstrap/wtf.html文件中{% import "bootstrap/wtf.html" as wtf %} { { wtf.quick_form(form) }}