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
参考資料
- Form Validation with WTForms — Flask Documentation (0.11) - わかりやすいテンプレ - form_helpers
- WTForms Documentation -
- 関数の中でグローバル変数に代入する - global変数の扱い方
- クラス定義の基本 - Python 入門 - クラス定義の基本