Flask学习与项目实战9:WTF表单验证

简介: Flask-WTF是简化了WTForms操作的一个第三方库。WTForms表单的两个主要功能是验证用户提交数据的合法性以及渲染模板。当然还包括一些其他的功能:CSRF保护,文件上传等。安装Flask-WTF默认也会安装WTForms,因此使用以下命令来安装Flask-WTF: pip install flask-wtf。

1.WTF表单验证介绍

Flask-WTF是简化了WTForms操作的一个第三方库。WTForms表单的两个主要功能是验证用户提交数据的合法性以及渲染模板。当然还包括一些其他的功能:CSRF保护,文件上传等。安装Flask-WTF默认也会安装WTForms,因此使用以下命令来安装Flask-WTF: pip install flask-wtf。


例如上淘宝的时候登陆,先查用户输入的是不是满足条件,不满足都不会查数据库。即 查询数据库之前就来验证是否满足要求了。


WTForms是可以在其他框架也一起使用的,如django等。而Flask专门简化了这个第三方库,来方便进行项目的操作。


2.进行表单验证

validators就是传一些验证参数进去来进行比较。


代码如下:

class RegistForm(Form):
    name = StringField(validators=[length(min=4,max=25)])
    email = StringField(validators=[email()])
    password = StringField(validators=[DataRequired(),length(min=6,max=10),EqualTo('confirm')])
    confirm = StringField()

DataRequired是密码必须输入的意思,EqualTo(‘confirm’)是必须相等的意思。

3.代码实现

在action中的意思是,当点击按钮之后,要把数据发送到哪个url。

method是指请求方法。同时需要注意input的name需要跟自己设置的对应。

如果缺少邮箱的验证器,可以使用 pip install email_validator来进行安装。

同时在上面的代码中需要进行改进,即对于视图默认是只支持GET,需要增加post如下图所示:

这样就可以进行验证了。(初步缓解数据库的压力)。

相关文章
|
27天前
|
API 数据库 Python
二、学习 Flask之二
二、学习 Flask之二
33 0
|
6月前
|
人工智能 前端开发 算法
Python 潮流周刊#18:Flask、Streamlit、Polars 的学习教程
Python 潮流周刊#18:Flask、Streamlit、Polars 的学习教程
108 4
|
API 数据库 网络架构
Python Flask框架学习教程
概述: 本教程将介绍Python Flask框架的基础知识和使用方法。Flask是一个简单而灵活的Web应用框架,它具有轻量级、易用性和高度可扩展等特点。通过学习本教程,您将能够了解Flask的基本概念、安装方法、语法结构、模板使用以及实际案例,并通过练习题加深对框架的理解和应用。
|
Python
python学习之Flask框架(二)
python学习之Flask框架(二)
|
前端开发 Python
python学习之Flask框架(一)
前言:本人广西医科大学公共事业管理专业大二学生,大一开始自学python,大一期末报名了python课程学习,目前学习到flask框架(因为高中文科生和英语不太行的缘故,学习进度较慢),前面的笔记都是手写,后续笔记将会在csdn上传,希望能够记录下自己的成长过程,也希望各位社区大佬能够多多指点。
|
前端开发 Python
Flask学习与实战11:WebSocket的使用与简单通信
用这个协议最方便的就是,服务器主动向客户端推送信息。客户端也可以主动向服务器发送信息。属于应用层协议,在握手阶段还是使用了HTTP的协议。
Flask学习与实战11:WebSocket的使用与简单通信
|
数据库 Python
|
存储 安全 数据安全/隐私保护
Flask学习与项目实战8:cookie与session的介绍与使用
cookie:在最开始的网站中,http请求是无状态的。也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不能知道当前请求是哪个用户。c
Flask学习与项目实战8:cookie与session的介绍与使用
|
数据库 Python
Flask学习与项目实战7:一对一关系、管理表的映射与ORM、项目重构
上篇文章中提到了一对多关系, 也就是一个user对应多篇文章,这是一对多的关系,那么如何设置一对一的关系呢。
Flask学习与项目实战7:一对一关系、管理表的映射与ORM、项目重构
|
关系型数据库 MySQL Python
Flask学习与项目实战6:一对多关系实现
一对一、一对多、多对多关系
Flask学习与项目实战6:一对多关系实现