Flask——flask-wtf

 

目录

  1. 创建表单
  2. 添加视图函数
  3. 渲染表单
  4. 字段类型
  5. 验证器

安装: pip install flask-wtf
  1. 创建表单


    from flask_wtf import FlaskForm  # 表单基类
    from wtforms import StringField, PasswordField, SubmitField
    from wtforms.validators import DataRequired, Length, EqualTo, Email
    
    app = Flask(__name__)
    app.config['SECRET_KEY'] = 'SECRET_KEY'
    maanger = Manager(app)  # 表单注册类
    
    
    class Register(FlaskForm):
        username = StringField('⽤户名', validators=[DataRequired('请输名'), Length(min=6, max=12, message='名范围在6~12位之间')])
        userpass = PasswordField('密码', validators=[DataRequired('请输密码'), Length(min=6, max=12, message='密码范围在6~12位之间')])
        confirm = PasswordField('确认密码', validators=[DataRequired('确认密码'), EqualTo('userpass', message='密码和确认密码不一致')])
        email = StringField('邮箱', validators=[DataRequired('请输邮箱地址'), Email(message='请输正确的邮箱')])
        submit = SubmitField('注册')
    

     

  2. 添加视图函数

    # 注册
    @app.route('/register/', methods=['GET', 'POST'])
    def register():
        form = Register()  # 实例化表单类
        # 这个⽅法是实现表单校验功能的 csrf,数据正确性 都通过了 则为真 否则为假
        if form.validate_on_submit():
            # print(request.form)
            print(form.username)  # 拿到username的整个标签
            print(form.username.data)  # 取出username⾥⾯的value值
            return '数据提交过来了'
        return render_template('register.html', form=form)

     

  3. 渲染表单

    <!DOCTYPE html>
    <html lang="en"> <head>
     <meta charset="UTF-8">
     <title>Title</title>
    </head> <body> <h2>flask-wtf的表单类</h2> <form action="{{ url_for('register') }}" method="post">
     {# csrf #}
     {{ form.csrf_token }}
     {{ form.username.label }}
     {{
    form.username(style="color:red;",class='myself',placeholder='请输
    ⼊⽤户名...') }} #给当前的标签添加属性和值 关键字参数
     #循环迭代取出验证失败的错误信息(也就是你在验证器⾥的属性message的
    值)
     {% for error in form.username.errors %}
     <span style="color:red;">{{ error }}</span>
     {% endfor %}
     <br>
     {{ form.userpass.label }}
     {{ form.userpass }}
     {% for error in form.userpass.errors %}
     <span style="color:red;">{{ error }}</span>
     {% endfor %}
     <br>
    {{ form.confirm.label }}
     {{ form.confirm() }}
     {% for error in form.confirm.errors %}
     <span style="color:red;">{{ error }}</span>
     {% endfor %}
     <br>
     {{ form.email.label }}
     {{ form.email() }}
     {% for error in form.email.errors %}
     <span style="color:red;">{{ error }}</span>
     {% endfor %}
     <br>
     {{ form.submit() }}
    </form>
    </body>
    </html>

     

  4. 字段类型


  5. 验证器


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值