Flask学习笔记(十五)--WTForms笔记.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

Flask学习笔记(⼗五)--WTForms笔记

本章涉及到的知识如下:

表单类的概念,以及如何定义⼀个表单类

WTForms表单类验证表单功能,和使⽤表单类渲染模板的⽅法

以及flask获取表单数据

在form表单中做⽂件上传的⽅法

写在前⾯:⽤户提交⼀个表单,通常是以POST请求的⽅式发往服务器。服务器可以使⽤request.from获取其中的数据,然后在输⼊函数中

对信息进⾏验证处理。。然⽽,每次都要⼿动完成逻辑验证这种⽅法太过繁琐。WTForms可以把表单数据的处理变成⼀种欢乐的体验!

正⽂:

⼀、WTForms

WTForms拓展包有两个功能,第⼀个就是做表单验证,把⽤户提交上来的数据进⾏验证是否合法。第⼆个就是做模版渲染。

Flask-WTF是简化了WTForms操作的⼀个第三⽅库

安装依赖:

pipinstallflask-wtf

1.做表单验证:

1.⾃定义⼀个表单类,继承⾃wtforms.Form类。

2.定义好需要验证的字段,字段的名字必须和模版中那些需要验证的input标签的name属性值保持⼀致。

3.在需要验证的字段上,需要指定好具体的数据类型。

4.在相关的字段上,指定验证器validators。

5.以后在视图中,就只需要使⽤这个表单类的对象,并且把需要验证的数据,也就是request.form传给这个表单类,以后调⽤

form.validate()⽅法,如果返回True,那么代表⽤户输⼊的数据都是合法的,否则代表⽤户输⼊的数据是有问题的。如果验证失败了,那

么可以通过form.errors来获取具体的错误信息。

定义表单类:

classRegistForm(Form):

username=StringField(validators=[Length(min=3,max=10,message=⽤户名长度必须在3到10位之间)])

password=StringField(validators=[Length(min=6,max=10)])

password_repeat=StringField(validators=[Length(min=6,max=10),EqualTo(password)])

视图函数中的处理,request.from进⾏初始化-form.validate表单类验证-结果处理返回

form=RegistForm(request.form)

ifform.validate():

returnsuccess

else:

print(form.errors)

returnfail

常⽤的验证器:

数据发送过来,经过表单验证,因此需要验证器来进⾏验证,以下对⼀些常⽤的内置验证器进⾏讲解:

1.Email:验证上传的数据是否为邮箱。

2.EqualTo:验证上传的数据是否和另外⼀个字段相等,常⽤的就是密码和确认密码两个字段是否相等。

3.InputRequir:原始数据的需要验证。如果不是特殊情况,应该使⽤InputRequired。

3.Length:长度限制,有min和max两个值进⾏限制。

4.NumberRange:数字的区间,有min和max两个值限制,如果处在这两个数字之间则满⾜。

5.Regexp:⾃定义正则表达式。

6.URL:必须要是URL的形式。

7.UUID:验证UUID。

2.⾃定义验证器:

如果想要对表单中的某个字段进⾏更细化的验证,那么可以针对这个字段进⾏单独的验证。步骤如下:

1.定义⼀个⽅法,⽅法的名字规则是:`validate_字段名(self,filed)`。

2.在⽅法中,使⽤`field.data`可以获取到这个字段的具体的值。

3.如果数据满⾜条件,那么可以什么都不做。如果验证失败,那么应该抛出⼀个`wtforms.validators.ValidationError`的异常,并且

把验证失败的信息传到这个异常类中。

python对captcha这个字段内容进⾏验证,如果不是1234就抛出异常,否则验证通过!

captcha=StringField(validators=[Length(4,4)])

#1234

defvalidate_captcha(self,field):

文档评论(0)

洞察 + 关注
官方认证
文档贡献者

博士生

认证主体宁夏三科果农牧科技有限公司
IP属地宁夏
统一社会信用代码/组织机构代码
91640500MABW4P8P13

1亿VIP精品文档

相关文档