我正在使用 Flask (vsn 0.8) 和 Flask-WTF (vsn 0.5.2)(例如,解析表单)来制作一个非常简单的网站。但是,我无法让 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!)