Django中设置初始值时如何修改时间字段的格式?
解决Django表单时间字段初始值显示格式问题
- 问题核心:设置初始值后时间字段显示
HH:MM:SS,未设置时显示HH:MM,需要统一为HH:MM格式。 - 解决方案:给
TimeInput组件添加format参数,强制指定渲染格式为%H:%M。
修改后的代码如下:
from datetime import time from django import forms from django.forms import TimeInput class SearchTimeSlotsForm(forms.Form): available_from = forms.TimeField( widget=TimeInput(attrs={'class': 'unbold-form'}, format='%H:%M'), initial=time(0) ) available_till = forms.TimeField( widget=TimeInput(attrs={'class': 'unbold-form'}, format='%H:%M'), initial=time(23,59,59) )
说明
format='%H:%M'会强制Django渲染时间字段时只展示小时和分钟,即便初始时间对象包含秒数,也不会在页面上显示。- 该设置同时会约束用户输入的格式,确保只能提交
HH:MM格式的时间,匹配需求场景。
内容的提问来源于stack exchange,提问作者Anshul Gupta
相关产品推荐
相关产品推荐

