Python——Flask框架——Web表单
一、框架Flask-WTF
安装: pip install flask-wtf
需要程序设置一个密钥
app = Flask(__name__)
app.config['SECRET_KEY'] = 'hard to geuss string'
二、表单
(1)实例Web表单,包含一个文本字段和一个提交按钮
from flask.ext.wtf import Form
from wtforms import StringField,SubmitField
from wtforms.validators import Required class NameForm(Form):
#name的一段文本文字
name = StringField('What is you name?',validator = [required()])
#一个名为Submit的按钮
submit = SubmitField('Submit')
(2)WTForms支持的HTML字段
| 字段类型 | 说明 |
| StringField | 文本字段 |
| TextAreaField | 多行文本字段 |
| PasswordField | 密码文本字段 |
| HiddenField | 隐藏文本字段 |
| DateField | 文本字段,格式为datetime.data |
| DateTimeField | 文本字段,格式为datetime.,datetime |
| IntegerField | 文本字段,值为整数 |
| DecialField | 文本字段,decimal.Decimal |
| FloatField | 文本字段,值为浮点数 |
| BooleanField | 复选框,值为True和False |
| RadioField | 一组单选框 |
| SelectField | 下拉列表 |
| SelectMultipeField | 下拉列表,可以选择多个值 |
| FileField | 文件上传 |
| SubmitField | 提交按钮 |
| FormField | 吧表单作为字段嵌入另一个表单 |
| FieldList | 一组指定类型的字段 |
(3)WTForms验证函数
| 函数 | 说明 |
| 验证电子邮件地址 | |
| EqualTo | 比较两个字段值 |
| IPAddress | 验证网络地址 |
| Length | 验证字符串长度 |
| NumberRange | 验证输入值是否在数字范围内 |
| Optional | 无输入值跳过其他验证函数 |
| Required | 确保字段中有数据 |
| Regexp | 使用正则表达式验证输入值 |
| URL | 验证URL |
| AnyOf | 确保输入值在可选择值列表中 |
| NoneOf | 确保输入值不可再可选值列表中 |
(4)将表单渲染成HTML
{% import "bootstrao/wtf.html" as wtf %}
{{wtf.quick_form(form)}}
**在视图函数中处理表单 form = NameForm()
(5)Flask消息——使用flash()函数
flash('Looks like you hanve changed your name!')
在模板中渲染函数
{% for message in get_flashed_messages() %}
<dic class="alert-warning">
<button type="button" class="close" data-dismiss="alert">%times;</button>
{{message}}
</div>
Python——Flask框架——Web表单的更多相关文章
- Flask教程 —— Web表单(上)
第二章中介绍的request对象公开了所有客户端发送的请求信息.特别是request.form可以访问POST请求提交的表单数据. 尽管Flask的request对象提供的支持足以处理web表单,但依 ...
- 基于Flask框架搭建视频网站的学习日志(三)之原始web表单
基于Flask框架搭建视频网站的学习日志(三)1.原始Web 表单 本节主要用于体验一下前端后端直接数据的交互,样例不是太完善,下一节会加入Flash处理,稍微完善一下页面 (备注:建议先阅读廖雪峰老 ...
- 轻量级Web框架Flask——Web表单
安装 Flask-WTF及其依赖可使用pip安装 pip install flask_wtf 配置 要求应用配置一个密钥.密钥是一个由随机字符构成的唯一字符串,通过加密或签名以不同的方式提升应用的安全 ...
- Flask Web Development —— Web表单(上)
Flask-WTF扩展使得处理web表单能获得更愉快的体验.该扩展是一个封装了与框架无关的WTForms包的Flask集成. Flask-WTF和它的依赖集可以通过pip来安装: (venv) $ p ...
- Flask 教程 第三章:Web表单
本文翻译自 The Flask Mega-Tutorial Part III: Web Forms 这是Flask Mega-Tutorial系列的第三部分,我将告诉你如何使用Web表单. 在第二章中 ...
- Flask开发系列之Web表单
Flask开发系列之Web表单 简单示例 from flask import Flask, request, render_template app = Flask(__name__) @app.ro ...
- Flask学习 三 web表单
web表单 pip install flask-wtf 实现csrf保护 app.config['SECRET_KEY']='hard to guess string' # 可以用来存储框架,扩展,程 ...
- 基于Extjs的web表单设计器 第六节——界面框架设计
基于Extjs的web表单设计器 基于Extjs的web表单设计器 第一节 基于Extjs的web表单设计器 第二节——表单控件设计 基于Extjs的web表单设计器 第三节——控件拖放 基于Extj ...
- flask 利用flask_wtf扩展 创建web表单
在Flask中,为了处理web表单,我们一般使用Flask-WTF扩展,它封装了WTForms,并且它有验证表单数据的功能 创建语句格式: startTime = DateTimeField('计划开 ...
随机推荐
- jupyter notebook中No module named 'tensorflow'
当我们在jupyter notebook中运行时可能会遇见没有某个包的情况,如下: ---------------------------------------------------------- ...
- 分区默认segment大小变化(64k—>8M)
_partition_large_extents和_index_partition_large_extents 参考: http://www.xifenfei.com/2013/08/%E5%88%8 ...
- 深入理解mongodb查询条件语句
阅读目录 1. 理解:"$lt"."$lte"."$gt" 和 "$gte" 2. 理解 '$ne' 3. 理解 &qu ...
- 2018Action Recognition from Skeleton Data via Analogical Generalization over Qualitative Representations
论文标题: 来源/作者机构情况: Northwestern University Thirty-Second AAAI Conference on Artificial Intelligence, 2 ...
- Java NIO1:浅谈I/O模型
一.什么是同步?什么是异步? 同步和异步的概念出来已经很久了,网上有关同步和异步的说法也有很多.以下是我个人的理解: 同步就是:如果有多个任务或者事件要发生,这些任务或者事件必须逐个地进行,一个事件或 ...
- 如何编写.NET Core Global Tools (附两个案例)
一.什么是 .NET Core Global Tools 2018年5月31日(北京时间)微软发布了 .NET Core 2.1 正式版,.NET Core 2.1 为我们带来了一个新的特性:.NET ...
- 《程序猿闭门造车》之NBPM工作流引擎 - 开篇
自己动手,丰衣足食,花了几个周末的休息时间,写了一个轻量级工作流引擎,一来学习技术,二来陶怡情操,暂且命名为NBPM,欢迎围观~~~ 主要功能有: 基于浏览器的在线流程及表单设计 提供流程及表单数据版 ...
- 使用 $(function(){}) 时遇到的一个小bug及解决方法
在 $(function(){}) 中声明函数,在 $(function(){}) 外调函数,会报错 原因: 页面加载后,会先执行 $(function(){}) 外面的语句,再执行 $(functi ...
- stl stack用法
栈后进先出 #include<iostream> #include<algorithm> #include<cstdio> #include<stack> ...
- 使用C# HttpWebRequest进行多线程网页提交。Async httpclient/HttpWebRequest实现批量任务的发布及异步提交和超时取消
使用线程池并发处理request请求及错误重试,使用委托处理UI界面输出. http://www.cnblogs.com/Charltsing/p/httpwebrequest.html for (i ...