form.html
{%延伸的常见/基地。html ' %} {%块标题%} 原生表单 {% endblock %} {%块pagecontent %} {# & lt;表单动作=" {{url_for(检查)}}”=皃ost”比方法;#} & lt;形式行动=" {{url_for(形式)}}”方法=皃ost”比; & lt; p>用户名:& lt;输入type="文本" name="用户名"占位符=扒胧淙胗没白畲蟪ざ??2”祝辞& lt;/p> & lt; p>密码:& lt;输入type="密码" name=" userpass占位符=扒胧淙朊苈搿弊4? lt;/p> & lt; p> & lt;输入类型=疤峤弧眝alue=" https://www.yisu.com/zixun/提交“祝辞& lt;/p> & lt;/form> {% endblock %} >之前 jobs
@app.route('/形式/') def形式(): 返回render_template (“form1.html”) #接收表单的数据 @app.route('/检查/',方法=['文章']) def检查(): 打印(request.form) 返回“提交过来了” >之前将俩个路由地址合并为同一个
@app.route('//'形式,方法=[“得到”,“POST”]) def形式(): 如果请求。方法==癙OST”: 打印(request.form) 返回render_template (“form1.html”) >之前
作用:是一个用于表单处理的扩展库提供表单的校验csrf的功能
pip安装flask-wtf使用
(1)字段类型
字段名称 字段类型 StringField 普通文本字段 PasswordField 密码框 SubmitField 提交按钮 TextAreaField 多行文本域 HiddenField 隐藏域 DateField 日期 DateTimeField 日期时间 IntegerField 整形 实域 浮点型 RadioField 单选字段 SelectField 下拉 FileField 文件上传字段 BooleanField 布尔字段
(2)验证器
验证器 说明 DataRequired 必填 长度 长度最小值最大 IPAddress IP地址 电子邮件 邮箱 URL 地址 正则表达式 正则匹配 等于 验证俩个字段值的正确性 NumberRange 输入值的范围最小马克斯
实例
在管理中
从进口瓶瓶,render_template,请求 从flask_script进口部经理 从flask_bootstrap导入引导 #导入自定义表单类的基类 从flask_wtf进口FlaskForm #导入表单的字段 从wtforms进口StringField PasswordField SubmitField #导入验证器 从wtforms。验证器进口长度、DataRequired 应用=瓶(__name__) 引导=引导(应用) #加密种子csrf需要使用 app.config [' SECRET_KEY ')=' abcdedff ' 经理=经理(应用) 类登录(FlaskForm): 用户名=StringField(“用户名”,验证器=[长度(min=6, max=12,消息='用户名的长度为6 ~ 12为),DataRequired(消息='用户名不能为空! ! ! '))) userpass=PasswordField(“密码,验证器=[长度(min=6, max=12,消息='用户名的长度为6 ~ 12为),DataRequired(消息=懊苈氩荒芪? ! ! '))) 提交=SubmitField(“登录”) @app.route (“/? def指数(): 返回render_template (index . html) @app.route('//'形式,方法=[“得到”,“POST”]) def形式(): #将表单类实例化 形式=登录() 如果请求。方法==癙OST”: #验证是否存在正确的csrftoken和数据的正确性如果都正确则为真 如果form.validate_on_submit (): #打印(request.form) 打印(form.username.data) 返回render_template (form2.html,形式=形式) 从进口瓶瓶,render_template,请求 从flask_script进口部经理 从flask_bootstrap导入引导 #导入自定义表单类的基类 从flask_wtf进口FlaskForm #导入表单的字段 从wtforms进口StringField PasswordField SubmitField #导入验证器 从wtforms。验证器进口长度、DataRequired 应用=瓶(__name__) 引导=引导(应用) #加密种子csrf需要使用 app.config [' SECRET_KEY ')=' abcdedff ' 经理=经理(应用) 类登录(FlaskForm): 用户名=StringField(“用户名”,验证器=[长度(min=6, max=12,消息='用户名的长度为6 ~ 12为),DataRequired(消息='用户名不能为空! ! ! '))) userpass=PasswordField(“密码,验证器=[长度(min=6, max=12,消息='用户名的长度为6 ~ 12为),DataRequired(消息=懊苈氩荒芪? ! ! '))) 提交=SubmitField(“登录”) @app.route (“/? def指数(): 返回render_template (index . html) @app.route('//'形式,方法=[“得到”,“POST”]) def形式(): #将表单类实例化 形式=登录() 如果请求。方法==癙OST”: #验证是否存在正确的csrftoken和数据的正确性如果都正确则为真 如果form.validate_on_submit (): #打印(request.form) 打印(form.username.data) 返回render_template (form2.html,形式=形式)瓶入门之表单的实现