Flask入门五:表单

五、表单

1、Flask-WTF 扩展

Flask-WTF 及其依赖可使用 pip 安装:

(venv) $ pip install flask-wtf

2、跨站请求伪造保护

【设置密钥】

app = Flask(__name__)
app.config['SECRET_KEY'] = 'hard to guess string'

app.config 字典可用来存储框架、 扩展和程序本身的配置变量。

3、表单类

创建表单的三个步骤:
- 定义Form的子类
- 在类里添加字段
- 在字段里添加验证函数

# Form 基类由 Flask-WTF 扩展定义
from flask_wtf import FlaskForm
# 字段直接从 WTForms 包中导入
from wtforms import StringField,SubmitField
# 验证函数直接从 WTForms 包中导入
from wtforms.validators import DataRequired,Length

class NameForm(Form):
    name = StringField('Input your name:',validators=[DataRequired()])
    submit = SubmitField('Submit')

与其他扩展的使用方法不同之处在于:
①不是实例化,而是继承
②还需要从wtforms当中导入字段和验证函数

* 【注意】 *
Form 基类由 Flask-WTF 扩展定义,所以从 flask_wtf 中导入。字段和验证函数
却可以直接从 WTForms 包中导入。

4、把表单渲染成HTML

表单字段是可调用的,在模板中调用后会渲染成 HTML。假设视图函数把一个
NameForm 实例通过参数 form传入模板,在模板中可以生成一个简单的表单,
如下所示:

你可能感兴趣的:(flask)