Skip to main content
 首页 » 编程设计

python之使用 Python 和 Django 显示日期间隔

2024年08月12日38lexus

我正在构建一个要求每个用户每天发帖的应用程序。我想显示用户未发帖的日期间隔。由于为空帖子插入空数据库行似乎不是一个好主意,我只在用户添加帖子时插入一条记录。

该模型包含一个名为 log_date 的字段。我不知道如何在 Django 模板中显示间隙。这就是我希望模板中的输出看起来像这样:

2009-11-25 
2009-11-24 
2009-11-23 NO ENTRY 
2009-11-22 NO ENTRY 
2009-11-21 

在此先感谢您的帮助。如果我可以提供更多详细信息,请告诉我。

请您参考如下方法:

我建议构建一组用户发布的日期,然后从最早的日期开始并迭代直到当天。对于每一天,打印日期并检查当天是否存在帖子。通过使用一个集合,我们可以在恒定时间内完成这项检查,但这可能并不重要。

days = set( Post.objects.filter(user=TARGET).values_list("log_date", flat=True) ) 
curr = min(days) 
while curr <= date.today(): 
    print curr, 
    if curr not in days: 
        print "NO ENTRY", 
    print 
    curr += timedelta(days=1) 

我意识到这不是 Django 模板代码,但这应该为您提供一个构建良好模板的良好起点。