我正在写一个应用程序 Django
并使用多个 TimeFields
在一个模型中。我只想使用时间格式 hh:mm(不是 hh:mm:ss 或 hh p.m./a.m. 或其他东西)。
我已经设置了 Django 设置 TIME_FORMAT = 'H:i'
和 USE_L10N = False
根据文档,
USE_L10N
overridesTIME_FORMAT
if set toTrue
在我的模板中,我使用由 Django 自动创建的输入框,例如:
{{formName.timeField}}
问题是,只要我引入类似“10:00”的内容并执行
POST
,当POST
完成 Django(或其他)将它变成“10:00:00”(所以它增加了秒数)。|date:"H:i"
的东西在输入框的值中可以做到这一点。 另一方面,我知道我可以手动输入输入框(不直接使用
{{formName.timeField}}
),但我过去遇到过一些问题,所以我想避免这种情况(至少目前是这样)。Django TimeField Model without seconds中也有类似的问题,但该解决方案不起作用(它给了我“
NoneType
”对象没有属性“strptime
”)
最佳答案
我的应用程序中正好有这个问题,并通过传递 format
解决了它Django 的参数 TimeInput
小部件:
from django import forms
class SettingsForm(forms.Form):
delivery_time = forms.TimeField(widget=forms.TimeInput(format='%H:%M'))
关于django - Django 模板中的 TimeField 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7729523/