Flask知识点串烧(四)

阅读: 评论:0

Flask知识点串烧(四)

Flask知识点串烧(四)

1. WTForms和Flask-WTF

  • WTForms是一个用Python编写的表单库,它使得表单的定义、验证(服务器端)和处理变得非常轻松;扩展Flask-WTF集成了WTForms,将表单数据解析、CSRF保护、文件上传等功能与Flask集成。Flask-WTF默认为每个表单启用CSRF保护,它会为我们自动生成和验证CSRF令牌。默认情况下,Flask-WTF使用程序秘钥来对CSRF令牌进行签名,所以我们需要为程序设置秘钥。
  • 一个表单由若干个输入字段组成,这些字段分别用表单类的类属性来表示。每个字段属性通过实例化WTForms提供的字段类表示,字段属性的名称将作为对应HTML<input>元素的name属性及id属性值。字段属性名称大小写敏感,不能以下划线和validate开头。
  • WTForms字段类:
    • BooleanField
    • DateField
    • DateTimeField
    • FileField
    • FloatField
    • IntegerField
    • RadioField
    • SelectField
    • StringField
    • HiddenField
    • PasswordField
    • TextAreaField
  • 实例化表单类常用参数:
    • label 字段标签<label>的值,也就是渲染后显示在输入字段前的文字;
    • render_kw 一个字典,用来设置对应HTML<input>标签的属性,比如传入{'placeholder':'Alex'},则<input>标签的placeholder属性设为'Alex';
    • validators 一个列表,包含一系列验证器,会在表单提交后被逐一调用,验证表单数据;
    • default 字符串或可调用对象,用来为表单字段设置默认值。
  • 验证器从wtforms.validators模块导入,常用的验证器如下:
    • DataRequired(message=None)
    • Email(message=None)
    • EqualTo(fieldname, message=None)
    • InputRequired(message=None)
    • Length(min=-1, max=-1, message=None)
    • NumberRange(min=None, max=None, message=None)
    • Optional(strip_whitespace=True) 允许输入值为空,并跳过其它验证;
    • Regexp(regex, flags=0, message=None) 
    • URL(required_tld=True, message=None)
    • AnyOf(values, message=None, values_formatter=None)
    • NoneOf(values, message=None, values_formatter=None)
  • 在实例化验证器时,message参数用来传入自定义错误消息,默认使用内置的英文错误消息;
  • validators参数接收一个可调用对象组成的列表,内置的验证器都实现了__call__()方法

本文发布于:2024-02-02 17:44:48,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170686709045413.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

上一篇:Vue学习
标签:知识点   串烧   Flask
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23