flask操作数据库,基于flask

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • 关系型数据库与非关系型数据库简介一样吗,关系型数据库非关系型数据库有哪些
  • 关系型数据库与非关系型数据库简介一样吗,关系型数据库非关系型数据库有哪些,关系型数据库与非关系型数据库简介
  • 关于redis数据库入门详细介绍图片,redis数据库的使用,关于Redis数据库入门详细介绍
  • 使用php连接mysql数据库,php连接数据库的方法
  • 使用php连接mysql数据库,php连接数据库的方法,一文详解PHP连接MySQL数据库的三种方式
  • 什么是分库分表,为什么要进行分库分表-,分库分表的区别,数据库分库分表是什么,什么情况下需要用分库分表
  • vb中adodb连接数据库,
  • treeview控件绑定数据,wpf treeview数据绑定,详解TreeView绑定数据库
  • sql的多表查询,数据库如何实现多表查询
  • SQL数据库的图形管理界面工具是,sql图形界面创建数据库
  • SQL数据库的图形管理界面工具是,sql图形界面创建数据库,SQLServer2019 数据库的基本使用之图形化界面操作的实现
  • sql数据库定时备份怎么弄,mysql 定期备份
  • sql数据库定时备份怎么弄,mysql 定期备份,MySQL 数据库定时备份的几种方式(全面)
  • sqlserver的nvarchar和varchar,数据库varchar和nvarchar
  • sqlserver的nvarchar和varchar,数据库varchar和nvarchar,SQL中varchar和nvarchar的基本介绍及其区别
  • 留言与评论(共有 条评论)
       
    验证码: