首先安装第三方form表单的扩展包,当然不使用第三方的也可以。第三方包的功能更多。

一、安装扩展

pip install flask-wtf

二、创建一个form表单类

from flask_wtf import FlaskForm
from wtforms import StringField, PasswordField, SubmitField
from wtforms.validators import DataRequired, EqualTo, Lengthclass Register(FlaskForm):username = StringField(label='username',validators=[DataRequired()],render_kw={'placeholder': 'username','class': 'input_text'})password = PasswordField(label='password',validators=[DataRequired(),Length(3, 8, '密码长度必须在3-8之间')])cpassword = PasswordField(label='cpassword',validators=[DataRequired(),EqualTo('password', '两次密码不一致')])submit = SubmitField('提交')

前端会根据label生成id和name属性,validators会提供表单提交时的验证。render_kw可以添加额外的属性,例如,要个username 输入框添加提示和类属性,可以这样写

render_kw={'placeholder': 'username','class': 'input_text'
}

常用验证类介绍

DataRequired()验证是否为空(不允许为空,空白字符视为空)

NumberRange(),验证数字范围

Length(),验证字符串长度

EqualTo(),比较两个值是否相同

三、使用表单

@app.route('/testform', methods=['get', 'post'])
def testform():form = Register()if request.method == 'GET':return render_template('form.html', form=form)if request.method == 'POST':# 验证表单if form.validate_on_submit():# 获取表单方式1username = form.username.datapassword = form.password.dataprint("11111111111111111111111111111")print(username)print(password)# 获取表单方式2print("22222222222222222222222")print(type(form.data))print(form.data)return "success"else:# 验证失败print(form.errors)error_msg = form.errorsfor k, v in error_msg.items():print(k, v[0])return "failed"

四、前端添加表单

<form action="/testform" method="post">{{ form.csrf_token }}{{ form.username.label }}{{ form.username }}{{ form.password.label }}{{ form.password }}{{ form.cpassword.label }}{{ form.cpassword }}{{ form.submit }}
</form>

前端页面

前端源代码

flask form表单相关推荐

  1. flask与简单的form表单

    flask与简单的form表单 文章目录 flask与简单的form表单 视频 代码 flask html 视频 https://www.bilibili.com/video/BV17W41177oE ...

  2. Flask入门 表单Flask-wtf form原生与Bootstrap渲染(七)

    (1) 原生的表单 模板页面,form表单form.html <form action="{{ url_for('/check/') }}" method='post'> ...

  3. flask自定义过滤器,flash,form表单

    1.自定义过滤器 自定义的过滤器,过滤器本质上是一个函数,当自带的过滤器不满住要求的时候,我要进行重写 过滤器注册有两种方式 1.app.add_template_filter(自定义过滤器的名字,' ...

  4. form表单获取多选的值

    flask 中 form 表单直接获取多选框的值时 language = request.values.getlist('values')或 language=request.from.getlist ...

  5. Flask Web表单

    title: flask学习笔记 subtitle: 3. flask Web表单 date: 2018-12-14 10:17:28 --- Web表单 HTML表单是用户和web站点或应用程序之间 ...

  6. Django之Form表单验证组件Tyrion

    Tyrion是一个基于Python实现的支持多个WEB框架的Form表单验证组件,其完美的支持Tornado.Django.Flask.Bottle Web框架.Tyrion主要有两大重要动能: 表单 ...

  7. Flask——创建表单模型类与模板使用

    首先引入表单扩展Flask-WTF: pip install Flask-WTF 使用Flask-WTF扩展可以验证后端接受到的信息,防止恶意攻击. WTForms支持的HTML标准字段 字段对象 说 ...

  8. form表单提交前进行ajax或js验证,校验不通过不提交

    在使用form表单进行提交数据前,需要进行数据的校验->表单的校验(如:两次密码输入是否相同)+后台数据的校验(如:账号是否存在),这个时候,如果哪步校验不通过,表单将停止提交,同时避免后台主键 ...

  9. form表单提交编码的问题

    浏览器在form提交后,会生成一个HTTP的头部信息"content-type",标准规定其形式为Content-type: application/x-www-form-urle ...

  10. js异步提交form表单的解决方案

    1.定义异步提交表单的方法 (通用方法) /*** 异步提交form表单* @param options {form:form表单元素,success:执行成功后处理函数}* <span sty ...

最新文章

  1. R字符串(Strings)转为日期类型(Dates)
  2. fastdfs连接mysql_fastDFS文件上传简单案例
  3. QT的QGLShaderProgram类的使用
  4. Redis添加主节点
  5. java - springmvc整合cxf发布webservice
  6. 66. 编写高效的 JavaScript
  7. PMP 考点 第十一章 项目风险管理
  8. java6_64.tar配置,Ubuntu 下Java-JDK6的安装与环境配置
  9. 小白 uBuntu20.04 2 安装TP Link TL-WDN5200 无线网卡驱动 亲测有效
  10. python 携程_python-携程爬虫
  11. select UNION ALL 合并两张表数据
  12. sqlserver,拆分分隔符并转换为列表格
  13. vb6.0 MSDN的安装位置
  14. vue+axios+springboot文件下载(兼容IE10)
  15. ubuntu/linux修改登录欢迎信息 自定义登录欢迎信息
  16. Write-a-speaker: Text-based Emotional and Rhythmic Talking-head Generation(译文)
  17. *** was not found in ‘***‘
  18. 2011年3月更新OFFICE2003精简版word缺少艺术型页面边框的解决方法
  19. 信息系统项目管理师历年考试内容及占分比
  20. PHP安装指南(Windows平台)

热门文章

  1. 用JS写了一个30分钟倒计时器
  2. padavan mysql密码_newifi mini 刷 不死Breed 及 Padavan 教程
  3. PC版微信数据库解密详细教程
  4. 详解 n 维向量、n 维数组 和 矩阵的维度(转载)
  5. 使用python建立n维0矩阵
  6. 编程语言c语言程序包括的几种语句
  7. 企查查网站信息爬取1.0版
  8. 华为云SSL证书申请流程
  9. 基于MATLAB的一维条码二维码识别
  10. 微信视频号视频或直播预约二维码如何生成?