フラスコ/wtforms アプリケーションがあり、wtforms 0.6.ish から 1.0.5 にアップグレードしています。開発ボックスは wtforms 0.6 を使用する ubuntu でしたが、製品は wtforms 1.0.5 を使用する amazon ami になります。
誰の利益のためにも、これまでの変更点は次のとおりです。
から:
from flask.ext.wtf import Form, TextField
from flask.ext.wtf import Required
に:
from wtforms import Form, TextField, validators
から:
def index():
form=SubmitForm()
if form.validate_on_submit():
return render_template('js.html',ht=form.ht.data)
に:
def index():
form=SubmitForm
if request.method == 'POST' and form.validate():
return render_template('js.html',ht=form.ht.data)
また:
class SubmitForm(Form):
ht = TextField('ht', validators = [Required()])
class SubmitForm(Form):
ht = TextField('ht', [validators.Required()])
問題は、wtforms 1.0.5 ではフォーム変数 'ht' が設定されないことです。コンソールに出力しようとすると、「なし」です。テンプレートに変更を加えていません。クラスにデフォルト値を設定できますが、ユーザーがフォームに入力した値に置き換えられません。