我正在使用Django编写一个应用程序,并在模型中使用多个TimeFields。我只想使用hh:mm的时间格式(不是hh:mm:ss或hh p.m./a.m.或其他格式)。
根据文档,我已经设置了django设置TIME_FORMAT = 'H:i'和USE_L10N = False。
引用: USE_L10N如果设置为True,则覆盖TIME_FORMAT
在我的模板中,我正在使用Django自动创建的输入框,例如:
问题在于,只要我输入类似于“10:00”的内容并进行
引用: USE_L10N如果设置为True,则覆盖TIME_FORMAT
在我的模板中,我正在使用Django自动创建的输入框,例如:
{{formName.timeField}}
问题在于,只要我输入类似于“10:00”的内容并进行
POST
,当POST
完成时Django(或其他)会将其转换为“10:00:00”(因此它添加了秒数)。
- 有没有办法指定日期时间字段显示保存日期的格式?如果我可以在输入框的值中使用类似于
|date:“H:i”
的东西就可以解决问题。
另一方面,我知道我可以手动处理输入框(而不是直接使用{{formName.timeField}}
),但我过去曾遇到过一些问题,所以我想避免这种情况(至少暂时如此)。
还有一个类似的问题在Django TimeField Model without seconds中,但解决方案不起作用(它给我返回'NoneType
' object has no attribute 'strptime
')
TimeInput
部件的format
参数仅控制字段的初始值输出格式,而不控制字段的输入验证。要进行输入验证格式,请使用TimeField
的input_formats
参数。 - Ghopper21