flask form表单
首先安装第三方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表单相关推荐
- flask与简单的form表单
flask与简单的form表单 文章目录 flask与简单的form表单 视频 代码 flask html 视频 https://www.bilibili.com/video/BV17W41177oE ...
- Flask入门 表单Flask-wtf form原生与Bootstrap渲染(七)
(1) 原生的表单 模板页面,form表单form.html <form action="{{ url_for('/check/') }}" method='post'> ...
- flask自定义过滤器,flash,form表单
1.自定义过滤器 自定义的过滤器,过滤器本质上是一个函数,当自带的过滤器不满住要求的时候,我要进行重写 过滤器注册有两种方式 1.app.add_template_filter(自定义过滤器的名字,' ...
- form表单获取多选的值
flask 中 form 表单直接获取多选框的值时 language = request.values.getlist('values')或 language=request.from.getlist ...
- Flask Web表单
title: flask学习笔记 subtitle: 3. flask Web表单 date: 2018-12-14 10:17:28 --- Web表单 HTML表单是用户和web站点或应用程序之间 ...
- Django之Form表单验证组件Tyrion
Tyrion是一个基于Python实现的支持多个WEB框架的Form表单验证组件,其完美的支持Tornado.Django.Flask.Bottle Web框架.Tyrion主要有两大重要动能: 表单 ...
- Flask——创建表单模型类与模板使用
首先引入表单扩展Flask-WTF: pip install Flask-WTF 使用Flask-WTF扩展可以验证后端接受到的信息,防止恶意攻击. WTForms支持的HTML标准字段 字段对象 说 ...
- form表单提交前进行ajax或js验证,校验不通过不提交
在使用form表单进行提交数据前,需要进行数据的校验->表单的校验(如:两次密码输入是否相同)+后台数据的校验(如:账号是否存在),这个时候,如果哪步校验不通过,表单将停止提交,同时避免后台主键 ...
- form表单提交编码的问题
浏览器在form提交后,会生成一个HTTP的头部信息"content-type",标准规定其形式为Content-type: application/x-www-form-urle ...
- js异步提交form表单的解决方案
1.定义异步提交表单的方法 (通用方法) /*** 异步提交form表单* @param options {form:form表单元素,success:执行成功后处理函数}* <span sty ...
最新文章
- R字符串(Strings)转为日期类型(Dates)
- fastdfs连接mysql_fastDFS文件上传简单案例
- QT的QGLShaderProgram类的使用
- Redis添加主节点
- java - springmvc整合cxf发布webservice
- 66. 编写高效的 JavaScript
- PMP 考点 第十一章 项目风险管理
- java6_64.tar配置,Ubuntu 下Java-JDK6的安装与环境配置
- 小白 uBuntu20.04 2 安装TP Link TL-WDN5200 无线网卡驱动 亲测有效
- python 携程_python-携程爬虫
- select UNION ALL 合并两张表数据
- sqlserver,拆分分隔符并转换为列表格
- vb6.0 MSDN的安装位置
- vue+axios+springboot文件下载(兼容IE10)
- ubuntu/linux修改登录欢迎信息 自定义登录欢迎信息
- Write-a-speaker: Text-based Emotional and Rhythmic Talking-head Generation(译文)
- *** was not found in ‘***‘
- 2011年3月更新OFFICE2003精简版word缺少艺术型页面边框的解决方法
- 信息系统项目管理师历年考试内容及占分比
- PHP安装指南(Windows平台)