介绍
今天就跟大家聊聊有关如何在瓶框架中使用WTForm表单,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
<强>运行环境:强>
python2.7
flask 0.11
flask-wtf 0.14.2
wtform能够通过一个类定义一些字段,这些字段会在前端生成标签,并且通过设置字段的验证规则,自动判断前端输入数据的格式。
一般用于用户登录,用户注册等信息录入。
<强>示例:强>
得到wtforms import 形式 得到flask import 烧瓶,render_template请求,重定向 得到wtforms.fields import 核心 得到wtforms.fields import  html5 得到wtforms.fields import 简单 得到wtforms import 验证器 得到wtforms import 小部件 import 系统 重载(系统) sys.setdefaultencoding (& # 39; use utf8 # 39;) # python2.7 转码用的,避免显示中文为乱码 app =,瓶(__name__ template_folder=& # 39;模板# 39;) app.debug=True class LoginForm(形式): 时间=name 才能;simple.StringField ( ,,,标签=& # 39;用户名& # 39;,,,#前端显示中文 ,,,验证器=[ ,,,,,validators.DataRequired(消息=& # 39;用户名不能为空& # 39;), ,,,,,validators.Length (min=6, max=18日消息=& # 39;用户名长度必须大于% (min) d且小于% (max) d # 39;) ,,,,,,#字段的验证规则 ,,,小部件=widgets.TextInput(),, #页面上显示的标签 ,,,render_kw={& # 39;类# 39;:& # 39;形式=控制# 39;},#给上面插件生成的时候添加属性,比如引导的属性 ,,) 时间=pwd 才能;simple.PasswordField ( ,,,标签=& # 39;密码& # 39;, ,,,验证器=[ ,,,,,validators.DataRequired(消息=& # 39;密码不能为空& # 39;), ,,,,,validators.Length (min=8、消息=& # 39;用户名长度必须大于% (min) d # 39;), ,,,,,validators.Regexp (regex=癪 (?=? [a - z]) (?=? [a - z]) (?=. * \ d) (?=? [$ @ $ ! % * ?,)) (A-Za-z \ d $ @ $ ! % */和]{8}“, ,,,,,,,,,,,,,,消息=& # 39;密码至少8个字符,至少1个大写字母,1个小写字母& # 39;), ,,,, ,,,小部件=widgets.PasswordInput (), ,,,render_kw={& # 39;类# 39;:& # 39;from-control& # 39;} ,,) #字段,内部包含正则表达式 @app.route(& # 39;/登录# 39;方法=[& # 39;得到# 39;& # 39;文章# 39;]) def 登录(): if 才能;request.method ==, & # 39;得到# 39;: ,,,form =, LoginForm () ,,,return render_template (& # 39; login.html& # 39;形式=形式) ,,,#将形式对象传给前端 其他的才能: ,,,form =, LoginForm (formdata=https://www.yisu.com/zixun/request.form) #从请求体从中取的值 如果form.validate(): #验证 打印”用户提交数据通过,提交的值为:“,form.data 其他: 打印的形式。错误#错误信息 返回render_template (login.html,形式=形式) @app.route (“/? def hello_world (): 返回“Hello World !” if __name__==癬_main__”: app.run ()
& lt; ! DOCTYPE html> & lt; html  lang=癳n"祝辞 & lt; head> & lt;才能meta charset=癠TF-8"比; & lt;才能meta http-equiv=皒-ua-compatible",内容=癐E=edge"比; & lt;才能meta name=皏iewport",内容=翱矶?设备宽度,初始=1,比; & lt;才能title> Title</title> & lt;/head> & lt; body> & lt; h2>登陆& lt;/h2> & lt; form 方法=皃ost"祝辞 & lt;才能p> {{, form.name.label }}, {{, form.name }}, {{, form.name.errors [0],}} & lt;/p> & lt;才能p> {{, form.pwd.label }}, {{, form.pwd }}, {{, form.pwd.errors [0],}} & lt;/p> & lt;才能input 类型=皊ubmit",价值=https://www.yisu.com/zixun/碧峤弧?> 形式 身体>