zoukankan      html  css  js  c++  java
  • flask表单flask-wtf

    一、安装pip install flask-wtf
    
    二、创建一个flask的项目引入相对应的包
    
    from flask import Flask,render_template
    import flask
    #引入模块
    from flask_wtf import FlaskForm,CsrfProtect
    #如果输入的是字符串那么就用StringField,如果是整数那么就用IntegerField
    from wtforms import StringField,IntegerField
    #验证方式
    from wtforms.validators import Length,EqualTo,InputRequired
    
    三、配置文件
    
    #coding:utf8
    import os
    SECRET_KEY = os.urandom(24)
    
    四、配置
    
    import config
    app = Flask(__name__)
    app.debug = True
    app.config.from_object(config)
    CsrfProtect(app)
    
    五、创建一个验证的类
    
    class RegistForm(FlaskForm):
        username = StringField(validators=[Length(min=3,max=10,message=u"用户名长度有问题")])
        password = StringField(validators=[Length(min=6,max=20)])
        age = IntegerField(validators=[InputRequired()])
    
    六、在路由代码中使用
    
    @app.route('/',methods=["GET","POST"])
    def index():
        if flask.request.method == "GET":
            return render_template("index.html")
        else:
            form = RegistForm(flask.request.form)
            if form.validate():
                username = form.username.data
                password =form.password.data
                print username,password
                return u"登录成功"
            else:
                print form.errors
                return u"错误"
    
    注意点:创建的验证类的字段要和前端html模板页面的name值的一样的
    七、WTForms支持的HTML标准字段
    
    字段类型      说  明
    StringField 文本字段
    TextAreaField 多行文本字段
    PasswordField 密码文本字段
    HiddenField 隐藏文本字段
    DateField 文本字段,值为 datetime.date 格式
    DateTimeField 文本字段,值为 datetime.datetime 格式
    IntegerField 文本字段,值为整数
    DecimalField 文本字段,值为 decimal.Decimal
    FloatField 文本字段,值为浮点数
    BooleanField 复选框,值为 True 和 False
    RadioField 一组单选框
    SelectField 下拉列表
    SelectMultipleField 下拉列表,可选择多个值
    FileField 文件上传字段
    SubmitField 表单提交按钮
    FormField 把表单作为字段嵌入另一个表单
    FieldList 一组指定类型的字段
    
    八、常见的验证函数
    
    验证函数 说  明
    Email 验证电子邮件地址
    EqualTo 比较两个字段的值;常用于要求输入两次密码进行确认的情况
    IPAddress 验证 IPv4 网络地址
    Length 验证输入字符串的长度
    NumberRange 验证输入的值在数字范围内
    Optional 无输入值时跳过其他验证函数
    Required 确保字段中有数据
    Regexp 使用正则表达式验证输入值
    URL 验证 URL
    AnyOf 确保输入值在可选值列表中
    NoneOf 确保输入值不在可选值列表中
  • 相关阅读:
    S1-概论
    AngularJS--day01介绍使用基本语法
    原生ajax--2
    原生ajax---1
    操作元素--字符串对象-日期对象-Array对象(数组)-Math对象-计时器
    HTTP协议系列教材 (三)- 通过Firefox火狐调试工具观察 HTTP 请求协议
    HTTP协议系列教材 (二)- 借助FireFox火狐调试工具学习HTTP协议
    HTTP协议系列教材 (一)- 教程
    Servlet系列教材 (二十七)- JSON
    Servlet系列教材 (二十六)- JSON
  • 原文地址:https://www.cnblogs.com/wt11/p/7566999.html
Copyright © 2011-2022 走看看