我正在构建一个要求每个用户每天发帖的应用程序。我想显示用户未发帖的日期间隔。由于为空帖子插入空数据库行似乎不是一个好主意,我只在用户添加帖子时插入一条记录。
该模型包含一个名为 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 模板代码,但这应该为您提供一个构建良好模板的良好起点。
