一、 WTForms引入
Form表单,在Web应用中无处不在。比如: 用户登录表单, 用户注册表单。
- 所有的表单项都有共性,比如有文字输入框,单选框,密码输入框等;
- 表单的验证也有共性,比如有非空验证,长度限制,类型验证等。
如果有个框架,能把这些共性抽象出来,那就能大量简化我们的工作。Python的 WTForms 就提供了这些功能,这里我们就要结合Flask的 WTForms 扩展, Flask-WTF ,来介绍如何在Web应用中制作表单。
二、安装
pip install -i https://pypi.douban.com/simple Flaks-WTF
直接继承这个表单类
三、定义表单文件
WTForms 让我们在后端代码中定义表单类,用的时候直接继承,我们只需要列出表单的字段和相应的验证规则。现在让我们先定义一个 MyForm 类:
1、常见表单域字段类型
2、常见验证规则
3、简单实例
表单文件:forms.py
from flask_wtf import FlaskForm
from wtforms import StringField, PasswordField, SubmitField
from wtforms.validators import DataRequired, Length, Email
class LoginForm(FlaskForm):
# validators:验证
email = StringField(label='电子邮箱',
validators=[DataRequired(message='邮箱不能为空'),
Length(1, 15, message='长度不符合条件'),
Email(message='请输入有效的邮箱地址')])
password = PasswordField(label='密码',
validators=[DataRequired(message='密码不能为空'),
Length(1, 8, message='长度不符合条件')])
submit = SubmitField(label='登录')
查看StringField源代码,需要填入这些参数:
label为字段名
vaildators为验证规则
查看vaildators源代码,可以有这些规则:
app.py文件
from flask import Flask, render_template
from flask表单处理.forms import LoginForm
app = Flask(__name__)
app.config.from_pyfile