Quickstart
**********

Eager to get started? This page gives a good introduction to Flask-
WTF. It assumes you already have Flask-WTF installed. If you do not,
head over to the Installation section.


Creating Forms
==============

Flask-WTF provides your Flask application integration with WTForms.
For example:

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

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

Note:

  From version 0.9.0, Flask-WTF will not import anything from wtforms,
  you need to import fields from wtforms.

In addition, a CSRF token hidden field is created automatically. You
can render this in your template:

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

If your form has multiple hidden fields, you can render them in one
block using "hidden_tag()".

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


Validating Forms
================

Validating the request in your view handlers:

   @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)

Note that you don't have to pass "request.form" to Flask-WTF; it will
load automatically. And the convenience "validate_on_submit" will
check if it is a POST request and if it is valid.

Heading over to Creating Forms to learn more skills.
