无法使用request.args正确填充WTForm

时间:2016-10-24 21:30:07

标签: python json flask flask-wtforms

我正试图通过WTForms填写表格:

class SearchForm(Form):
    dt1 = DateTimeField(validators=[validators.Required()])
    dt2 = DateTimeField(validators=[validators.Required()])
    count  = IntegerField(default=10, validators=[validators.Optional()])
    offset  = IntegerField(default=0, validators=[validators.Optional()])

@app.route('/rest-api/get_calls/<phone_number>', methods=['GET'])
def get_calls(phone_number):
    form = SearchForm(request.args)

请求就是这样:

127.0.0.1 - - [24/Oct/2016 23:23:19] "GET /rest-api/get_calls/003223185901?dt1=2016-01-01T00:00:00&dt2=2016-08-31T00:00:00 HTTP/1.1" 404 -

但我明白了:

{'dt2': ['This field is required.'], 'dt1': ['This field is required.']}

看起来request.args无法正常工作。

1 个答案:

答案 0 :(得分:1)

您没有以正确的格式传递日期/时间值。 DateTimeField预计%Y-%m-%d %H:%M:%S,但您已通过%Y-%m-%dT%H:%M:%S,请注意T。传递预期格式或使用DateTimeField(format='%Y-%m-%dT%H:%M:%S', ...)更改。