flask操作数据库,基于flask
Web应用程序的一个重要方面是为用户提供用户界面。HTML为设计界面提供了一个表单标签。可以适当使用表单的元素,如文本输入、广播、选择等。用户输入的数据通过GET或POST方法以Http请求消息的形式提交给服务器端脚本。
服务器端脚本必须从http请求数据中重新创建表单元素。所以事实上,表单元素必须定义两次——一次作为HTML,一次作为服务器端脚本。使用HTML表单的另一个缺点是很难(如果不是不可能的话)动态呈现表单元素。HTML本身不能验证用户的输入。
这就是WTForms(一个灵活的表单、呈现和验证库)派上用场的地方。Flask-WTF扩展为这个WTForms库提供了一个简单的接口。
使用Flask-WTF,您可以在Python脚本中定义表单字段,并使用HTML模板来呈现它们。身份验证也可以应用于WTF字段。
Flask-WTF是一个第三方库,它简化了WTForms的操作。WTForms表单的两个主要功能是验证用户提交数据的合法性和呈现模板。还有其他功能:CSRF保护,文件上传等。
安装方法:
pipinstallflask-wtf的安装包包含一个Form类,该类必须用作用户定义表单的父级。WTforms包包含各种表单字段的定义。
下面列出了一些标准表单字段3360。
1.WTForms简单验证
fromflaskimportFlask,请求,渲染模板
fromwtformsimportForm,StringField
fromwtforms . validatorsimportlength,EqualTo
app=Flask(__name__)
class register Form(Form):
username=string field(validators=[length(min=3,max=10,message= username必须在3到10个数字之间)])
password=string field(validators=[length(min=6,max=10,message= password必须在6到10个数字之间)])
password _ repeat=string field(validators=[Length(min=6,max=10),
EqualTo(密码,message=密码不一致)])
@app.route(/)
defhello_world():
回到你好的世界!
@app.route(/regist/,methods=[GET , POST])
defregist():
ifrequest.method==GET:
return render _ template( regist . html )
else:
form=RegistForm(request.form)
(=NationalBureauofStandards)国家标准局
p;ifform.validate():
return'success'
else:
print(form.errors)
return'fail'
if__name__=='__main__':
app.run()2.WTForms常用验证器和自定义验证器
常用的验证器:
(1)Email:验证上传的数据是否为邮箱格式
(2)EqualTo:两个字段是否相等(密码和重复密码)
(3)InputRequired:原始数据的需要验证
(4)Length:长度限制,有mix和max两个值
(5)NumberRange:数字的区间,有mix和max两个值,如果在两个值之间则满足
(6)Regexp:自定义正则表达式
(7)URL:必须url格式
(8)UUID:uuid格式
相关推荐:《Python视频教程》
fromwtformsimportForm,StringField,IntegerField
3.使用wtforms渲染模板
forms.py
classSettingsForm(Form):
flask_wtforms_demo.py
@app.route('/settings/',methods=['GET','POST'])
settings.html
<formaction=""method="post">
相关推荐:
Flask中的Cookie和Session是什么
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。