Flask 表单操作库 flask_WTF flask_WTForms

本文详细介绍了Flask扩展flask_WTF的安装、基本用法,包括创建表单、CSRF保护、验证表单、文件上传和验证码功能。同时,深入探讨了WTForms的基础知识,如字段、验证器和自定义验证方法。提供了文件上传、登录界面等实际应用示例。
摘要由CSDN通过智能技术生成

一、安装 flask_WTF 0.14.X 

flask_WTF 英文文档          flask_WTF 中文文档0.12        Flask表单验证组件WTForms

Flask-WTF是集成WTForms,并带有 csrf 令牌的安全表单和全局的 csrf 保护的功能。每次我们在建立表单所创建的类都是继承与flask_wtf中的FlaskForm,而FlaskForm是继承WTForms中forms。

pip install flask_WTF

二、基本用法:

1.创建基础表单

例如,form.py:

class LoginForm(FlaskForm):
    username = StringField()
    password = PasswordField()
    remember_me = BooleanField(label='Keep me logged in')

2.CSRF保护

任何使用FlaskForm创建的表单发送请求,都会有CSRF的全部保护,在对应的template中HTML渲染表单时,可以加入form.csrf_token:

app.config['SECRET_KEY'] = 'ABC'  # 指定CSRF验证字段
<form method="post">
    {
  { form.csrf_token }}
</form>

但是如果模板中没有表单,则可以使用一个隐藏的input标签加入csrf_token。

<form method="post">
    <input type="hidden" name="csrf_token" value="{
  { csrf_token() }}"/>
</form>

3.验证表单

在视图处理程序中验证请求:
view.py

def login():
    form = LoginForm()
    if form.validate_on_submit():
        return redirect('/success')
    return render_template('login.html', form=form)

使用 validate_on_submit 来检查是否是一个 POST 请求并且请求是否有效。

4.文件上传

Flask-WTF 提供 FileField 来

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值