一、框架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验证函数

函数 说明
Email 验证电子邮件地址
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表单的更多相关文章

  1. Flask教程 —— Web表单(上)

    第二章中介绍的request对象公开了所有客户端发送的请求信息.特别是request.form可以访问POST请求提交的表单数据. 尽管Flask的request对象提供的支持足以处理web表单,但依 ...

  2. 基于Flask框架搭建视频网站的学习日志(三)之原始web表单

    基于Flask框架搭建视频网站的学习日志(三)1.原始Web 表单 本节主要用于体验一下前端后端直接数据的交互,样例不是太完善,下一节会加入Flash处理,稍微完善一下页面 (备注:建议先阅读廖雪峰老 ...

  3. 轻量级Web框架Flask——Web表单

    安装 Flask-WTF及其依赖可使用pip安装 pip install flask_wtf 配置 要求应用配置一个密钥.密钥是一个由随机字符构成的唯一字符串,通过加密或签名以不同的方式提升应用的安全 ...

  4. Flask Web Development —— Web表单(上)

    Flask-WTF扩展使得处理web表单能获得更愉快的体验.该扩展是一个封装了与框架无关的WTForms包的Flask集成. Flask-WTF和它的依赖集可以通过pip来安装: (venv) $ p ...

  5. Flask 教程 第三章:Web表单

    本文翻译自 The Flask Mega-Tutorial Part III: Web Forms 这是Flask Mega-Tutorial系列的第三部分,我将告诉你如何使用Web表单. 在第二章中 ...

  6. Flask开发系列之Web表单

    Flask开发系列之Web表单 简单示例 from flask import Flask, request, render_template app = Flask(__name__) @app.ro ...

  7. Flask学习 三 web表单

    web表单 pip install flask-wtf 实现csrf保护 app.config['SECRET_KEY']='hard to guess string' # 可以用来存储框架,扩展,程 ...

  8. 基于Extjs的web表单设计器 第六节——界面框架设计

    基于Extjs的web表单设计器 基于Extjs的web表单设计器 第一节 基于Extjs的web表单设计器 第二节——表单控件设计 基于Extjs的web表单设计器 第三节——控件拖放 基于Extj ...

  9. flask 利用flask_wtf扩展 创建web表单

    在Flask中,为了处理web表单,我们一般使用Flask-WTF扩展,它封装了WTForms,并且它有验证表单数据的功能 创建语句格式: startTime = DateTimeField('计划开 ...

随机推荐

  1. jupyter notebook中No module named 'tensorflow'

    当我们在jupyter notebook中运行时可能会遇见没有某个包的情况,如下: ---------------------------------------------------------- ...

  2. 分区默认segment大小变化(64k—>8M)

    _partition_large_extents和_index_partition_large_extents 参考: http://www.xifenfei.com/2013/08/%E5%88%8 ...

  3. 深入理解mongodb查询条件语句

    阅读目录 1. 理解:"$lt"."$lte"."$gt" 和 "$gte" 2. 理解 '$ne' 3. 理解 &qu ...

  4. 2018Action Recognition from Skeleton Data via Analogical Generalization over Qualitative Representations

    论文标题: 来源/作者机构情况: Northwestern University Thirty-Second AAAI Conference on Artificial Intelligence, 2 ...

  5. Java NIO1:浅谈I/O模型

    一.什么是同步?什么是异步? 同步和异步的概念出来已经很久了,网上有关同步和异步的说法也有很多.以下是我个人的理解: 同步就是:如果有多个任务或者事件要发生,这些任务或者事件必须逐个地进行,一个事件或 ...

  6. 如何编写.NET Core Global Tools (附两个案例)

    一.什么是 .NET Core Global Tools 2018年5月31日(北京时间)微软发布了 .NET Core 2.1 正式版,.NET Core 2.1 为我们带来了一个新的特性:.NET ...

  7. 《程序猿闭门造车》之NBPM工作流引擎 - 开篇

    自己动手,丰衣足食,花了几个周末的休息时间,写了一个轻量级工作流引擎,一来学习技术,二来陶怡情操,暂且命名为NBPM,欢迎围观~~~ 主要功能有: 基于浏览器的在线流程及表单设计 提供流程及表单数据版 ...

  8. 使用 $(function(){}) 时遇到的一个小bug及解决方法

    在 $(function(){}) 中声明函数,在 $(function(){}) 外调函数,会报错 原因: 页面加载后,会先执行 $(function(){}) 外面的语句,再执行 $(functi ...

  9. stl stack用法

    栈后进先出 #include<iostream> #include<algorithm> #include<cstdio> #include<stack> ...

  10. 使用C# HttpWebRequest进行多线程网页提交。Async httpclient/HttpWebRequest实现批量任务的发布及异步提交和超时取消

    使用线程池并发处理request请求及错误重试,使用委托处理UI界面输出. http://www.cnblogs.com/Charltsing/p/httpwebrequest.html for (i ...