WTForms - данные DateTimeLocalField отсутствуют после отправки

1

После отправки формы с запросом POST каждое значение Field имеет значение, за исключением DateTimeLocalField. Доступ к значению данных DateTimeLocalField является типом None.

форма

class ArticleForm(FlaskForm):
    name = StringField('Name', validators=[DataRequired()])
    category = SelectField(u'Category', choices=categories.choices)
    town = StringField('Town', validators=[DataRequired()])
    minimal_price = IntegerField('Minimal price')
    article_image = FileField('Article_image', validators=[FileRequired()])
    time_left = DateTimeLocalField('Time to end', validators=[InputRequired()],
                              format='%Y-%m-%d %H:%M:%S')
    description = TextAreaField('Description', validators=[DataRequired()])

Проверка (проверено с помощью is_submitted, все работают за исключением article_form.time_left.data, которая является None)

if article_form.validate_on_submit():

    new_article = Article(name=article_form.name.data,
                          category=article_form.category.data,
                          town=article_form.town.data,
                          minimal_price=article_form.minimal_price.data,
                          article_image=name,
                          time_left=article_form.time_left.data, # <-- None
                          description=article_form.description.data,
                          user_id=current_user.id)

Любая помощь для получения данных из DateTimeLocalField?

Теги:
flask
forms
wtforms

1 ответ

0
Лучший ответ

Попробуйте изменить формат DateTimeLocalField из

format='%Y-%m-%d %H:%M:%S' 

чтобы:

format='%Y-%m-%dT%H:%M'

Совет. Вы можете распечатать фактическое содержимое поля ввода до подтверждения, чтобы подтвердить правильное форматирование поля DateTimeLocalField.

  • 0
    Это работает, отлично!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню