下载安装
pip install WTForms
主要概念
- Forms:Forms类是WTForms的核心容器。表单(Forms)表示域(Fields)的集合,域能通过表单的字典形式或者属性形式访问。
- Fields:Fields(域)做最繁重的工作。每个域(Field)代表一个数据类型,并且域操作强制表单输入为响应的数据类型。例如,
InputRequired
和StringField
表示两种不同的数据类型。域除了包含的数据之外,还包含大量有用的属性,例如标签、描述、验证错误的列表。 - Validators:Validators(验证器)只是接受输入,验证它是否满足某些条件,比如字符串的最大长度,然后返回。或者,如果验证失败,则引发
ValidationError
。这个系统非常简单和灵活,允许在字段上链接任意数量的验证器。 - Widget:Widget(组件)的工作是渲染域(field)的HTML表示。每个域可以指定Widget实例,但每个域默认拥有一个合理的Widget。
- CSRF:CSRF(Cross-site reqest forgery)跨站请求伪造。也被称为
one-click attack
或者session riding
,通常缩写为CSRF或者XSRF,是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。跟跨网站脚本(XSS)相比,XSS利用的是用户对指定网站的信任,CSRF利用的是网站对用户网页浏览器的信任。
基本使用
(1)创建表单类。
from wtforms import Form, BooleanField, StringField, validators
class RegisterForm(Form)<