Django表单-日期时间字段仅显示日期
我有以下型号:Django表单-日期时间字段仅显示日期,django,django-forms,Django,Django Forms,我有以下型号: class Sponsorship(models.Model): sponsor = models.ForeignKey(Sponsor, related_name='sponsorships') start_datetime = models.DateTimeField(null=True, blank=True) end_datetime = models.DateTimeField(null=True, blank=True) 模型的形式如下所示:
class Sponsorship(models.Model):
sponsor = models.ForeignKey(Sponsor, related_name='sponsorships')
start_datetime = models.DateTimeField(null=True, blank=True)
end_datetime = models.DateTimeField(null=True, blank=True)
模型的形式如下所示:
class SponsorshipForm(ModelForm):
class Meta:
model = Sponsorship
fields = ('start_datetime', 'end_datetime')
widgets = {
'start_datetime': forms.DateTimeInput(attrs={'class':
'form-control'}),
'end_datetime': forms.DateTimeInput(attrs={'class':
'form-control'}),
}
SponsorShipsFormSet = inlineformset_factory(Sponsor, Sponsorship,
form=SponsorshipForm, extra=2)
从某种角度看,我通常会:
SponsorShipsFormSet(instance=self.object)
但在呈现表单时,datetime输入字段只有date for值,没有时间
为什么表单没有用日期和时间实例化
编辑
我在模板中打印了输入字段的值:
{{ form.start_datetime.value }}
而且它确实应该具有datetime值。好的,这是一个百万分之一的洞察 所有这些麻烦的原因都来自设置
DATETIME\u输入\u格式
我以前的经历:
DATETIME_INPUT_FORMATS = (
'%d %B %Y', # '05 March 2014'
'%d %B %Y - %H:%M', # '05 March 2014 - 08:07'
'%d %B %Y - %H:%M:%S', # '05 March 2014 - 08:07:59'
'%d %B %Y - %H:%M:%S.%f', # '05 March 2014 - 08:07:59.0001'
'%d/%m/%Y %H:%M:%S.%f', # '25/10/05 14:30:59.000200'
'%d/%m/%Y %H:%M:%S', # '25/10/05 14:30:59'
'%d/%m/%Y %H:%M', # '25/10/05 14:30'
'%d/%m/%Y', # '25/10/05'
'%d-%m-%Y %H:%M:%S.%f', # '25-10-05 14:30:59.000200'
'%d-%m-%Y %H:%M:%S', # '25-10-05 14:30:59'
'%d-%m-%Y %H:%M', # '25-10-05 14:30'
'%d-%m-%Y', # '25-10-05'
'%Y-%m-%d %H:%M:%S.%f', # '2006-10-25 14:30:59.000200'
'%Y-%m-%d %H:%M:%S', # '2006-10-25 14:30:59'
'%Y-%m-%d %H:%M', # '2006-10-25 14:30'
'%Y-%m-%d', # '2006-10-25'
'%m/%d/%Y %H:%M:%S.%f', # '10/25/2006 14:30:59.000200'
'%m/%d/%Y %H:%M:%S', # '10/25/2006 14:30:59'
'%m/%d/%Y %H:%M', # '10/25/2006 14:30'
'%m/%d/%Y', # '10/25/2006'
'%m/%d/%y %H:%M:%S.%f', # '10/25/06 14:30:59.000200'
'%m/%d/%y %H:%M:%S', # '10/25/06 14:30:59'
'%m/%d/%y %H:%M', # '10/25/06 14:30'
'%m/%d/%y', # '10/25/06'
)
是什么解决了我的问题:
DATETIME_INPUT_FORMATS = (
'%d %B %Y - %H:%M:%S.%f', # '05 March 2014 - 08:07:59.0001'
'%d %B %Y - %H:%M:%S', # '05 March 2014 - 08:07:59'
'%d %B %Y - %H:%M', # '05 March 2014 - 08:07'
'%d %B %Y', # '05 March 2014' <- this line was first before
'%d/%m/%Y %H:%M:%S.%f', # '25/10/05 14:30:59.000200'
'%d/%m/%Y %H:%M:%S', # '25/10/05 14:30:59'
'%d/%m/%Y %H:%M', # '25/10/05 14:30'
'%d/%m/%Y', # '25/10/05'
'%d-%m-%Y %H:%M:%S.%f', # '25-10-05 14:30:59.000200'
'%d-%m-%Y %H:%M:%S', # '25-10-05 14:30:59'
'%d-%m-%Y %H:%M', # '25-10-05 14:30'
'%d-%m-%Y', # '25-10-05'
'%Y-%m-%d %H:%M:%S.%f', # '2006-10-25 14:30:59.000200'
'%Y-%m-%d %H:%M:%S', # '2006-10-25 14:30:59'
'%Y-%m-%d %H:%M', # '2006-10-25 14:30'
'%Y-%m-%d', # '2006-10-25'
'%m/%d/%Y %H:%M:%S.%f', # '10/25/2006 14:30:59.000200'
'%m/%d/%Y %H:%M:%S', # '10/25/2006 14:30:59'
'%m/%d/%Y %H:%M', # '10/25/2006 14:30'
'%m/%d/%Y', # '10/25/2006'
'%m/%d/%y %H:%M:%S.%f', # '10/25/06 14:30:59.000200'
'%m/%d/%y %H:%M:%S', # '10/25/06 14:30:59'
'%m/%d/%y %H:%M', # '10/25/06 14:30'
'%m/%d/%y', # '10/25/06'
)
DATETIME\u输入\u格式=(
“%d%B%Y-%H:%M:%S.%f',#“2014年3月5日-08:07:59.0001”
“%d%B%Y-%H:%M:%S”,#“2014年3月5日-08:07:59”
“%d%B%Y-%H:%M”,#“2014年3月5日-08:07”
“%d%B%Y”,#“2014年3月5日”