博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Flask的表单处理
阅读量:2440 次
发布时间:2019-05-10

本文共 1722 字,大约阅读时间需要 5 分钟。

Flask的表单处理

Web 表单是在任何一个 web 应用程序中最基本的一部分。我们将使用表单允许用户写文章,以及登录到应用程序中。

一个名为 Flask-WTF 的扩展,将 WTForms 集成到 flask 程序,可以帮助完成很多事情

表单类

表单的创建,可以通过继承从 Flask-WTF 导入的Form父类实现

from flask.ext.wtf import Form # 表单类,从第三方扩展的命名空间 导入

表单类中需要定义 属性/字段,值是字段类型类,就是将要在 HTML 中显示的表单各个字段,其实就是对 HTML 表单各种标签的包装

from wtforms import StringField, BooleanField, SubmitField, PasswordField, TextAreaField, SelectField # 字段类型类,字符串、布尔值、提交、密码、文本区域、选择框

验证器列表,检查用户填写表单时输入的内容是否符合我们的期望,有多个验证器时,需要同时通过验证

from wtforms.validators import DataRequired, Required, Length, Email  , Regexp, EqualTo # 验证器,直接从 wtforms.validators 导入

如一个简单表单类:

#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time    : 2017/7/31 13:25# @File    : form.pyfrom flask_wtf import Formfrom wtforms import StringField, PasswordField, BooleanField, SubmitFieldfrom wtforms.validators import Required, Length, Email#通过继承Form类实现class Form_d(Form):    #对应html表单中的name字段,第二个参数为一个验证函数    name=StringField('name',validators=[Required()])    #对应html表单中的pwd字段,第二个参数为一个验证函数    pwd=StringField('pwd',validators=[Required()])    submit=SubmitField('submit')

简单表单登录验证:

from flask import Flask,render_template,requestfrom form import  Form_dfrom Blue import blueapp = Flask(__name__)app.config['SECRET_KEY']='xxx'app.register_blueprint(blue,url_prefix='/blue')@app.route('/')def index():    return render_template('login.html')#设置name和pwd的值name='123'password='123'@app.route('/login',methods=['GET','POST'])def login():    forms=Form_d()    pwd=forms.pwd.data    username=forms.name.data    if pwd==password and username==name:        return render_template('o.html')    else:        return 'eer'if __name__ == '__main__':    app.run(port=7701)

对应登录页面

    
Title
请输入账号
请输入密码

转载地址:http://vtcqb.baihongyu.com/

你可能感兴趣的文章
初学者 编程_初学者可访问性
查看>>
redis中只能保存字符串_如何在Redis中管理字符串
查看>>
Electron.js简介-第1部分:设置
查看>>
盖茨比乔布斯_在盖茨比中使用插件
查看>>
css nth-child_比较CSS伪类:nth-child与nth-of-type
查看>>
React Hooks入门
查看>>
centos安装nginx_如何在CentOS 8上安装Nginx
查看>>
graphql 嵌套查询_了解GraphQL中的查询
查看>>
如何在Ruby中使用数组方法
查看>>
如何在Ubuntu 20.04上安装R
查看>>
如何在CentOS 8上安装MySQL
查看>>
Apollo Boost简介
查看>>
strapi_使用Strapi构建自定义API
查看>>
graphql解析器_GraphQL中的架构和解析器
查看>>
debian创建交换分区_如何在Debian 8上添加交换空间
查看>>
debian创建交换分区_如何在Debian 9上添加交换空间
查看>>
debian安装nginx_如何在Debian 10上安装Nginx
查看>>
金蝶kis可用库存查询_如何建立可用库存
查看>>
vue密码正则验证表单验证_如何在Vue中使用表单验证
查看>>
particles.js_使用Particles.js创建很棒的背景效果
查看>>