当我在django模板中格式化时间时,为什么我的时间倒计时返回NaN



我一直在开发这个应用程序,其中我有一个事件日期的时间倒计时,当我以django格式格式化开始日期时间时,在django中的时间格式周围工作有一个挑战{event.start|date:'D D M Y'}}"它在模板中返回NaN,但当我像这样格式化日期时间时;日期:2021-11-11T08:32:06+11:11";它是有效的,我在这里搜索了一个解决方案,但不知怎么的,这个解决方案在我的情况下不起作用。

HTML 
#This works 
<div class="items-center space-x-2 text-center grid grid-cols-4" uk-countdown="date: 2021-11-11T08:32:06+11:11">
<div class="bg-gray-100 rounded-md p-2 border shadow-inner">
<div class="uk-countdown-days text-lg font-bold"></div>
<div class="text-xs">DAYS </div>
</div>
<div class="bg-gray-100 rounded-md p-2 border shadow-inner">
<div class="uk-countdown-hours text-lg font-bold"></div>
<div class="text-xs">HOURS </div>
</div>
<div class="bg-gray-100 rounded-md p-2 border shadow-inner">
<div class="uk-countdown-minutes text-lg font-bold"></div>
<div class="text-xs">MIN  </div>
</div>
<div class="bg-gray-100 rounded-md p-2 border shadow-inner">
<div class=" uk-countdown-seconds text-lg font-bold"></div>
<div class="text-xs">SEC </div>
</div>
</div>
#but this does not work, It returns NaN
<div class="items-center space-x-2 text-center grid grid-cols-4" uk-countdown="{{ event.start|date:'D d M Y' }}"">

这是我的活动模型

class Event(models.Model):

start = models.DateTimeField(_('start'),db_index=True,default=datetime.now().replace(microsecond=0))
end = models.DateTimeField(_('end'), db_index=True,default=datetime.now().replace(microsecond=0))

我对事件的看法

def event_main(request,pk):
event = get_object_or_404(Event, pk=pk)
ctx = {'event':event}
return render(request,'event/event_main.html',ctx)

格式完全不同。。。在第一个示例中,该值以ISO格式表示

uk-countdown="date: 2021-11-11T08:32:06+11:11"

在第二个,你正在格式化它

uk-countdown="{{ event.start|date:'D d M Y' }}""

这会给你

uk-countdown="Fri 11 Nov 2021""

你可能应该使用

uk-countdown="date: {{ event.start|date:"c" }}"

注意,我已经添加了date:前缀,并删除了第二个"

您的模型默认值也有问题。此:

start = models.DateTimeField(_('start'),db_index=True,default=datetime.now().replace(microsecond=0))
end = models.DateTimeField(_('end'), db_index=True,default=datetime.now().replace(microsecond=0))

将为您提供导入模块的时间,在生产中可能需要几天时间才能保存您的模型。。。

最新更新