use*_*863 14 django format timefield
我正在编写应用程序Django
并TimeFields
在模型中使用多个应用程序.我只想使用时间格式hh:mm(不是hh:mm:ss或hh pm/am或其他东西).我已经设置了django设置TIME_FORMAT = 'H:i'
并USE_L10N = False
根据文档,
USE_L10N
TIME_FORMAT
如果设置为覆盖,则覆盖True
在我的模板中,我使用Django自动创建的输入框,如:
{{formName.timeField}}
Run Code Online (Sandbox Code Playgroud)
问题是,只要我引入类似"10:00"的东西并执行a POST
,当POST
完成时,Django(或其他)将其转换为"10:00:00"(因此它会添加秒数).
|date:"H:i"
输入框的值那样的东西.另一方面,我知道我可以手动进行输入框(不是直接使用{{formName.timeField}}
),但过去我遇到了一些问题,所以我想避免这种情况(至少目前为止).
在没有秒的Django TimeField模型中也有类似的问题,但解决方案不起作用(它给我' NoneType
'对象没有属性' strptime
')
小智 24
我在我的应用程序中遇到了这个问题,并通过将format
参数传递给Django的TimeInput
小部件来解决它:
from django import forms
class SettingsForm(forms.Form):
delivery_time = forms.TimeField(widget=forms.TimeInput(format='%H:%M'))
Run Code Online (Sandbox Code Playgroud)
Jos*_*osh 11
假设您有一个您想要TimeFields
使用的格式,您可以将其添加TIME_INPUT_FORMATS
到您的设置文件中.例如,TIME_INPUT_FORMATS = ('%I:%M %p',)
将您的时间格式设置为"下午5:30".
文档:https://docs.djangoproject.com/en/dev/ref/settings/#std:setting-TIME_INPUT_FORMATS