flask表单flask-wtf
- 一、安装pip install flask-wtf
- 二、创建一个flask的项目引入相对应的包
- from flask import Flask,render_template
- import flask
- #引入模块
- from flask_wtf import FlaskForm,CsrfProtect
- #如果输入的是字符串那么就用StringField,如果是整数那么就用IntegerField
- from wtforms import StringField,IntegerField
- #验证方式
- from wtforms.validators import Length,EqualTo,InputRequired
- 三、配置文件
- #coding:utf8
- import os
- SECRET_KEY = os.urandom(24)
- 四、配置
- import config
- app = Flask(__name__)
- app.debug = True
- app.config.from_object(config)
- CsrfProtect(app)
- 五、创建一个验证的类
- class RegistForm(FlaskForm):
- username = StringField(validators=[Length(min=3,max=10,message=u"用户名长度有问题")])
- password = StringField(validators=[Length(min=6,max=20)])
- age = IntegerField(validators=[InputRequired()])
- 六、在路由代码中使用
- @app.route('/',methods=["GET","POST"])
- def index():
- if flask.request.method == "GET":
- return render_template("index.html")
- else:
- form = RegistForm(flask.request.form)
- if form.validate():
- username = form.username.data
- password =form.password.data
- print username,password
- return u"登录成功"
- else:
- print form.errors
- return u"错误"
- 注意点:创建的验证类的字段要和前端html模板页面的name值的一样的
- 七、WTForms支持的HTML标准字段
- 字段类型 说 明
- StringField 文本字段
- TextAreaField 多行文本字段
- PasswordField 密码文本字段
- HiddenField 隐藏文本字段
- DateField 文本字段,值为 datetime.date 格式
- DateTimeField 文本字段,值为 datetime.datetime 格式
- IntegerField 文本字段,值为整数
- DecimalField 文本字段,值为 decimal.Decimal
- FloatField 文本字段,值为浮点数
- BooleanField 复选框,值为 True 和 False
- RadioField 一组单选框
- SelectField 下拉列表
- SelectMultipleField 下拉列表,可选择多个值
- FileField 文件上传字段
- SubmitField 表单提交按钮
- FormField 把表单作为字段嵌入另一个表单
- FieldList 一组指定类型的字段
- 八、常见的验证函数
- 验证函数 说 明
- Email 验证电子邮件地址
- EqualTo 比较两个字段的值;常用于要求输入两次密码进行确认的情况
- IPAddress 验证 IPv4 网络地址
- Length 验证输入字符串的长度
- NumberRange 验证输入的值在数字范围内
- Optional 无输入值时跳过其他验证函数
- Required 确保字段中有数据
- Regexp 使用正则表达式验证输入值
- URL 验证 URL
- AnyOf 确保输入值在可选值列表中
- NoneOf 确保输入值不在可选值列表中
flask表单flask-wtf的更多相关文章
- flask表单,orm,csrf
flask表单是flask中最基本的功能. 它是负责HTML页面中数据采集的部分,它由三部分组成:表单标签,表单域,表单按钮组成,通过表单用户输入的数据提交给服务器. flask表单封装了WTForm ...
- Flask表单(Flask-WTF)
1.request.from获取POST表单数据 # hello.py #coding:utf-8 from flask import Flask,request,render_template ap ...
- Flask从入门到精通之Flask表单渲染成HTML
表单字段是可调用的,在模板中调用后会渲染成HTML.假设视图函数把一个NameForm 实例通过参数form 传入模板,在模板中可以生成一个简单的表单,如下所示: <form method=&q ...
- Flask从入门到精通之Flask表单
Flask请求对象包含客户端发出的所有请求信息.其中,request.form 能获取POST 请求中提交的表单数据.尽管Flask 的请求对象提供的信息足够用于处理Web 表单,但有些任务很单调,而 ...
- flask表单提交的两种方式
一.通用方式 通用方式就是使用ajax或者$.post来提交. 前端html <form method="post" action="/mockservice&qu ...
- Flask表单(form)的应用
导入模块request模块 #指定请求方式,使用methods属性 @app.route("/",methods=['GET','POST']) def index(): #判断c ...
- flask 表单
表单 在Web程序中,表单时和用户交互最常见的方式之一.用户注册.登录.撰写文章.编辑设置,无一不用到表单.不过,表单的处理不简单.要创建表单,验证用户输入的内容,向用户显示错误提示,还要获取并保存数 ...
- flask表单标签
环境:python2.7+flask+flask_wtf 内容:flask的部分常用表单标签 test.py # -*- coding: utf-8 -*- # flask web_form 表单控件 ...
- Flask表单验证
学习内容:①判断请求方式(request.method) from flask import Flask,render_template,request app = Flask(__name__) @ ...
随机推荐
- JMeter的使用——ApacheJMeterTemporaryRootCA.crt的用法
在使用JMeter的时候,启动HTTP代理服务器弹出的那个提示框一直不知道是什么意思,刚刚弄明白了,在JMeter2.1之后,通过JMeter的代理服务器来访问https安全连接的网页的时候,浏览器会 ...
- php 递归求得目录大小
/* * 递归求得目录大小 * @param $dir 目录 */ function dirsize($dir){ $allsize = 0; $handle = opendir($dir); whi ...
- P1129 [ZJOI2007]矩阵游戏(二分图,网络流)
传送门 这推导过程真的有点可怕的说……完全想不出来…… 最终状态是$(1,1),(2,2),(3,3)...(n,n)$都有一个黑点 我们可以理解为每一个行和列都形成了一个匹配 换句话说,只要$n$行 ...
- postgreSQL PL/SQL编程学习笔记(六)——杂七杂八
1 PL/pgSQL Under the Hood This part discusses some implementation details that are frequently import ...
- mac下对NTFS格式的磁盘进行读写操作
mac对NTFS格式的分区读写有很大的限制,网上看到很多相关的文章,都表明了一个信息:需要购买类似NTFS for mac这样的软件才能实现对NTFS格式的分区读写的权限,其实不然,mac自带的hdi ...
- 使用过多的递归出现错误,“System.StackOverflowException”类型的未经处理的异常在 mscorlib.dll 中发生
class Program { static void Main(string[] args) { sub(0); } private static void sub(int count) { ...
- springboot整合activemq加入会签,自动重发机制,持久化
消费者客户端成功接收一条消息的标志是:这条消息被签收. 消费者客户端成功接收一条消息一般包括三个阶段: 1.消费者接收消息,也即从MessageConsumer的receive方法返 ...
- sharding-jdbc数据分片配置
数据分片 不使用Spring 引入Maven依赖 <dependency> <groupId>org.apache.shardingsphere</groupId> ...
- asp.net MVC中的@model与Model
asp.net MVC中的@model与Model https://blog.csdn.net/ydm19891101/article/details/44301201 在MVC的实际使用中,我们经常 ...
- 域名dns 查询
腾讯云 DNS 使用不同套餐版本的解析分别为不同集群,每种集群对应的 DNS 地址是不同的: 解析套餐版本 DNS 地址 备注 免费 DNS 地址 f1g1ns1.dnspod.net/f1g1ns2 ...