Flask-WTF 入门使用P1

创建表单

Flask-WTF为您的Flask应用程序集成了WTForms,具体例子如下:

from flask_wtf import FlaskForm
from wtforms import StringField
from wtforms.validators import DataRequired

class MyForm(FlaskForm):
    name = StringField('name', validators=[DataRequired()])

注意
从0.9.0版本开始,Flask-WTF将不会从wtforms导入任何内容,您需要从wtforms导入字段。
此外,还会自动创建CSRF令牌隐藏字段。 您可以在您的模板中呈现:

<form method="POST" action="/">
    {{ form.csrf_token }}
    {{ form.name.label }} {{ form.name(size=20) }}
    <input type="submit" value="Go">
</form>

如果您的表单有多个隐藏字段,您可以使用hidden_tag()在一个块中渲染它们。

<form method="POST" action="/">
    {{ form.hidden_tag() }}
    {{ form.name.label }} {{ form.name(size=20) }}
    <input type="submit" value="Go">
</form>

验证表单

在视图处理函数中验证请求:

@app.route('/submit', methods=('GET', 'POST'))
def submit():
    form = MyForm()
    if form.validate_on_submit():
        return redirect('/success')
    return render_template('submit.html', form=form)

请注意,您不必将request.form传递给Flask-WTF; 它将自动加载。 同时使用validate_on_submit的便捷性在于,它将检查请求方式[methods]是否是一个POST请求类型以及它是否有效。

参考原文:https://flask-wtf.readthedocs.io/en/stable/quickstart.html

posted @ 2017-09-20 23:46  jihu9  阅读(217)  评论(0编辑  收藏  举报