python--Flask-wtf

flask-wtf

  • 避免重复操作,表单操作很多;
  • 防止表单遭遇跨站请求伪造(csrf ==== cross-site request forgery);

csrf 跨站请求伪造流程图:

在这里插入图片描述

1.为什么使用Flask-WTF?

request 对象公开了所有客户端发送的请求信息。特别是 request.form 可以访问POST 请求提交的表单数据。尽管 Flask 的 request 对象提供的支持足以处理 web表单,但依然有许多任务会变得单调且重复。表单的 HTML 代码生成和验证提交的表单数据就是两个很好的例子。

优势: Flask-WTF 扩展使得处理 web 表单能获得更愉快的体验。该扩展是一个封装了与框架无关的 WTForms 包的 Flask 集成。

2.什么是表单处理?

在网页中,为了和用户进行信息交互总是不得不出现一些表单。flask 设计了WTForm 表单库来使flask可以更加简便地管理操作表单数据。

WTForm中最重要的几个概念如下:

  • Form类,开发者自定义的表单必须继承自Form类或者其子类。
    Form类最主要的功能是通过其所包含的Field类提供对表单内数据的快捷访问方式。

  • 各种Field类,即字段。
    一般而言每个Field类都对应一个input的HTML标签。比如WTForm自带的一些Field类,比如BooleanField就对应<input type=“checkbox”>, SubmitField就对应<input type=“submit”>等等。

  • Validator类
    这个类用于验证用户输入的数据的合法性。比如Length验证器可以用于验证输入数据的长度,FileAllowed 验证上传文件的类型等等。

另外,flask为了防范csfr(cross-site request forgery)攻击, 默认在使用flask-wtf之前要求app一定要设置过secret_key。

最简单地可以通过 app.config[‘SECRET_KEY’] = ‘xxxx’ 来配置。

3.常见的Field类
Field类 说明
PasswordField 密码字段,自动将输入转化为小黑点
DateField 文本字段,格式要求为 datetime.date 一样
IntergerField 文本字段,格式要求是整数
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值