Flask——wtforms表单验证

导读:本篇文章讲解 Flask——wtforms表单验证,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

wtforms表单验证

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

pip install flask-wtf

单词翻译
validate—验证,
validators—验证器

一、表单验证:
安装完Flask-WTF后。来看下第一个功能,就是用表单来做数据验证,现在有一个forms.py文件,然后在里面创建一个RegistForm的注册验证表单:

import wtforms

from wtforms.validators import length,email


class LoginForm(wtforms.Form):
    email = wtforms.StringField(validators=[length(min=5,max=20),email()])
    password = wtforms.StringField(validators=[length(min=6,max=20)])

在这个里面指定了需要上传的参数,并且指定了验证器,比如email的长度应该在4-25之间。email必须要满足邮箱的格式。password长度必须在6-20之间,并且应该和confirm相等才能通过验证。

写完表单后,接下来就是login.html文件:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>登录</title>
</head>
<body>
<form action="/login" method="post">
    <table>
        <tbody>
            <tr>
                <td>邮箱:</td>
                <td>
                    <input type="text" name="email">
                </td>
            </tr>
            <tr>
                <td>密码:</td>
                <td>
                    <input type="text" name="password">
                </td>
            </tr>
            <tr>
                <td></td>
                <td><button>登录</button></td>
            </tr>
        </tbody>
    </table>

</form>
</body>
</html>

再来看视图函数login:

自己写的

from flask import Flask, request, render_template
from forms import LoginForm

@app.route('/login',methods=['GET','POST'])
def login():
    if request.method =='GET':
        return render_template("login.html")
    else:
        form = LoginForm(request.form)
        if form.validate():
            return "登录成功!"
        else:
            return "密码或邮箱输入错误"

LoginForm传递的是request.form进去进行初始化,并且判断form.validate会返回用户提交的数据是否满足表单的验证。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/61405.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!