【问题标题】:How can I use <input type=datetime > and iOS Safari with Django?如何在 Django 中使用 <input type=datetime > 和 iOS Safari?
【发布时间】:2013-02-10 14:20:23
【问题描述】:

我真的很喜欢 Safari iOS 中特殊键盘的便利性。

但是,它似乎以“2013 年 2 月 10 日 9:07”格式输出日期时间。

Django 表单不会解析这种格式。与 django 文档中一样,django 不会解析 %b 或 %B、缩写或完整月份名称。

让 django 表单解析“2013 年 2 月 10 日 9:07”的任何简单解决方法。

【问题讨论】:

    标签: html django-forms mobile-safari datetimepicker


    【解决方案1】:

    格式实际上是2013-02-10T09:07:00Z,它只是呈现为Feb 10, 2013, 9:07(或根据您的区域设置)。由于格式是标准的日期时间格式,我认为Django应该能够正确处理。

    【讨论】:

      【解决方案2】:

      目前 Django 不支持 HTML5 datetime 或 datetime-local 输入使用的格式,因此您需要使用自定义格式模块手动添加它,例如:

      (将示例中的“mysite”替换为您的项目名称)

      FORMAT_MODULE_PATH = 'mysite.formats'
      

      在你的 settings.py 中

      DATETIME_INPUT_FORMATS = (
          '%Y-%m-%dT%H:%M:%SZ',
          '%Y-%m-%dT%H:%M:%S',
          '%Y-%m-%d %H:%M:%S',
          '%Y-%m-%d %H:%M:%S.%f',
          '%Y-%m-%d %H:%M',
          '%Y-%m-%d',
          '%Y/%m/%dT%H:%M:%S',
          '%Y/%m/%d %H:%M:%S',
          '%Y/%m/%d %H:%M:%S.%f',
          '%Y/%m/%d %H:%M',
          '%Y/%m/%d',
      )
      

      mysite/formats/en/formats.py

      确保也创建

      mysite/formats/__init__.py
      mysite/formats/en/__init__.py
      

      并为您使用的任何其他语言环境复制 en 目录。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-03-08
        • 1970-01-01
        • 2020-04-24
        • 2011-10-01
        • 2022-01-16
        • 2021-05-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多