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验证函数

函数 说明
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>

 

posted @ 2019-02-28 10:00  澄心元素  阅读(1170)  评论(0编辑  收藏  举报