开发者学堂课程【Python Web 框架 Flask 快速入门:普通的表单验证】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/603/detail/8790
普通的表单验证
目录:
一、 介绍 Web 表单
二、WTForms 支持的 HTML 标准字段
三、示例
四、Index
一、介绍 Web 表单
Web 表单是 web 应用程序的基本功能
它是 HTML 页面中负责数据采集的部件。表单有三个部分组成:表单域,表单标签,表单按钮。表单允许用户输入数据,负责 HTML 页面数据采集,通过表单将用户输入的数据提交给服务器。
在 Flask 中,为了处理 web 表单,我们一般使用 Flask-WTF 扩展,它封装了WTForms ,并且它有验证表单数据的功能。
二、 WTForms 支持的 HTML 标准字段
字段对象 说明
StringField 文本字段
TextAreaField 多行文本字段
PasswordField 密码文本字段
HiddenFieid 隐藏文本字段
DateFieid 文本字段,值为datetime.date文本格式
DateTimeFieid 文本字段,值为datetime.datetime文本格式
integerFieid 文本字段,值为整数
DecimalFieid 文本字段,值为decimal.Decimal
FloatFieid 文本字段,值为浮点数
BooleanFieid 复选框,值为True和False
三、 示例
使用普通方式实现表单
在 HTML 页面中直接写 form 表单:
用户名:
密码:
确认密码:
{% for message in get_flashed_messages()%}
{{ message }}
{% endfor %}
四、Index
from flask import Flash,render_temple,request
app = Flask(__name__)
目的:实现一个简单的登录的逻辑处理
1. 路由需要有 get 和 post 两种请求方式-->需要判断请求方式
2. 获取请求的参数
3. 判断参数是否填写&密码是否相同
4. 如果判断都没有问题,就返回一个 success
给模板传递消息
flash-->需要对内容加密,因此需要设置 secret_key ,做加密消息的混淆模板中需要遍历消息
@app.route(‘/’,methods=[‘GET’‘POST’])det index():
request :请求对象-->获取请求方式,数据
1.判断请求方式
if request.method==‘POST’
2.获取请求的参数
username=request.form.get(‘username’)
password=request.form.get(‘password’)
password2=request.form.get(‘password2’)
print password
3.判断参数是否填写&密码是否相同
if not all([username,password,password2])
print‘参数不完整’
flash (u‘参数不完整’)
elif password !=password2:
print ‘密码不一致’
flash (u‘密码不一致’)
else:
return ‘success’
return render_template(‘index.html’)
if __name__==‘__main__’:
app.run(debug=True)