私はFlask(vsn 0.8)とFlask-WTF(vsn 0.5.2)(たとえば、フォームの解析)を使用して、非常にシンプルなWebサイトを作成しています。ただし、Flask-WTFでGET結果を適切に解析することができません。
私の関連するコードは次のようになります:
@app.route("/result", methods=("GET", "POST"))
def submit():
form = MyForm()
print request.args
print request.args.get('aws_id', None, type=str)
print form.is_submitted()
if form.validate_on_submit():
flash('Success')
aws_id = form.aws_id.data
return render_template("index.html", form=form)
GETを使用して「aws_id」という単一のフィールドを使用してフォームを送信すると、コンソールに次の出力が表示されます。
127.0.0.1 - - [19/Oct/2011 22:28:59] "GET /result?aws_id=test_string HTTP/1.1" 200 -
ImmutableMultiDict([('aws_id', u'test_string')])
test_string
False
送信は正しく機能しているように見えますが、Flask-WTFはその機能を果たしていません。基本的に、フォーム出力を処理する古い方法であるrequest.args.getメソッドは機能しますが、新しいform.is_submittedとform.validate_on_submitは魔法のような機能を果たしていません。
何か案は?(WTF!)