Flask的表单处理

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.py
from flask_wtf import Form
from wtforms import StringField, PasswordField, BooleanField, SubmitField
from 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,request
from form import  Form_d
from Blue import blue

app = 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)

对应登录页面

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
         <form action="/login" method="POST">
    <span>请输入账号</span>
    <input type="text" name="name" id="name" placeholder="name">
    <span>请输入密码</span>
    <input type="password" name="pwd" id="pwd" placeholder="password">
    <input type="submit" name="submit">
       </form>
</body>
</html>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值