Python Wtforms

Import準備

 $ source .activate
 $ pip install --upgrade pip
 $ pip install flask
 $ pip install flask_wtf
 $ pip install flask_exceptional

Wtforms

-- * app.py * --

from flask.ext.wtf import Form
from wtforms.fields import TextField, BooleanField, RadioField
from wtforms.validators import Required

class Myform(Form):
    q1 = RadioField(u'q1',choices=[
        (u'1',u'-2'),
        (u'2',u'-1'),
        (u'3',u'0'),
        (u'4',u'1'),
        (u'5',u'2')],validators=[Required()])
    q2 = RadioField(u'q2',choices=[
        (u'1',u'-2'),
        (u'2',u'-1'),
        (u'3',u'0'),
        (u'4',u'1'),
        (u'5',u'2')],default='2',validators=[Required()])
form =  Myform()

-- html --

{% from "_formhelpers.html" import render_field %}
    <form method=post action="/question">
    <div>
    だらしない
        {{ render_field(form.q1,class="form-inline form-group") }}
        きちんとした
    </div>
    <hr/>
    <div >
        知能の低い
        {{ render_field(form.q2,class="form-inline form-group") }}
    知能の高い
    </div>
    <hr/>
    <p><input type=submit value=Next>
    </form>

<div><p>
{{ form.q1.data }}
</p></div>
  • フォーム情報リセット
 form.data = None

参考資料