После отправки формы с запросом 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?
Попробуйте изменить формат DateTimeLocalField
из
format='%Y-%m-%d %H:%M:%S'
чтобы:
format='%Y-%m-%dT%H:%M'
Совет. Вы можете распечатать фактическое содержимое поля ввода до подтверждения, чтобы подтвердить правильное форматирование поля DateTimeLocalField
.