python - WTForms - DateTimeLocalField 数据在提交后为 None

标签 python forms flask wtforms

在使用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 字段的格式正确。

关于python - WTForms - DateTimeLocalField 数据在提交后为 None,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52825708/

相关文章:

python - 将嵌套列表转换为嵌套链表

python - 如何在后台运行无限循环并停止它?

php - symfony 表单元素选项

ruby-on-rails - 未定义的局部变量或方法 `f'在局部 View 中

python - 如何使用笔记本中的组合框以 python 形式进行计算?

javascript - 在 Flask SocketIO 聊天中设置动态聊天室

python - 我的循环只保存最后一次迭代的结果

python - 同时更新模型及其相关父模型的时间戳

python - 为 Flask 应用程序创建系统服务时如何解决 (code=exited,status=203/Exec)

python - 无法使用 gunicorn 守护进程模式获取 Flask 的日志记录工作