#python #json #flask #flask-wtforms
#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:00amp;dt2=2016-08-31T00:00:00 HTTP/1.1" 404 -
но я получаю это:
{'dt2': ['This field is required.'], 'dt1': ['This field is required.']}
Похоже, request.args не работает должным образом.
Ответ №1:
Вы не передаете значения даты / времени в правильном формате. DateTimeField
ожидается %Y-%m-%d %H:%M:%S
, но вы прошли %Y-%m-%dT%H:%M:%S
, обратите внимание на T
. Либо передайте ожидаемый формат, либо измените его с помощью DateTimeField(format='%Y-%m-%dT%H:%M:%S', ...)
.