【问题标题】:Validating datetime-local input in Django 1.9 Form在 Django 1.9 表单中验证 datetime-local 输入
【发布时间】:2016-07-27 12:54:21
【问题描述】:

HTML5 输入 datetime-local 以 %Y-%m-%dT%H:%M 格式返回其值。注意天和小时之间的 T。我已经以如下形式将其添加到字段中:

end = forms.DateTimeField(required=True, input_formats='%Y-%m-%dT%H:%M')

模板手动创建字段:

<input type="datetime-local" id="id_end" name="end" value="{{ form.end.value }}">

对请求的检查显示表单数据确实以与验证器匹配的格式发送字段:2016-04-06T17:18

那么返回验证失败的格式验证器是什么?

【问题讨论】:

    标签: django html forms validation datetime


    【解决方案1】:

    我认为input_formats 参数是一个列表而不是一个字符串(顾名思义)。请查看有关DateTimeField input_formats 的django 文档。

    输入格式

    用于尝试将字符串转换为有效格式的列表 datetime.date 对象。

    【讨论】:

    • 你是对的。我的单项列表周围没有括号。但是 django 也没有向我抛出任何错误,所以我认为这很好。很好的收获。
    • 有没有办法全局指定 input_formats?试试这个: from django.conf.global_settings import DATETIME_INPUT_FORMATS DATETIME_INPUT_FORMATS += ('%Y-%m-%dT%H:%M',) 似乎没有任何效果
    猜你喜欢
    • 1970-01-01
    • 2016-10-12
    • 1970-01-01
    • 1970-01-01
    • 2018-03-11
    • 1970-01-01
    • 1970-01-01
    • 2012-02-21
    • 1970-01-01
    相关资源
    最近更新 更多