我正在尝试编写一个基本的提醒应用程序,用户可以在其中输入重要日期(生日、纪念日等),并查看距离该日期的下一个周年纪念日还有多少时间。例如,一个用户的生日可能是 1990 年 1 月 1 日,我想为他们显示直到他们下一个生日的时间(2 个月 14 天)。
我一直在使用 django timeuntil 内置模板标签,但它只适用于未来的日期(如果日期早于当前日期,它不会显示任何内容)。我不确定如何将输入的日期“标准化”为未来的时间。
当前代码:
def events(request):
relationships = Relationship.objects.filter(user=request.user)
events = Event.objects.filter(user=request.user).order_by('date')[:8]
event_date = events[0].date
if datetime.now() >= event_date:
difference = datetime.now() - event_date
event_date_new = event_date + difference
event_date = event_date_new
context = {
'relationships': relationships,
'events': events
}
return render(request, 'app/events.html', context)
模板
<td class="column-right"><h4>{{event.date|timeuntil}}</h4></td>
(它还会在 datetime.now() 模块没有属性“now”时引发错误,这是查找当前日期的旧方法吗?)
提前致谢!