我正在尝试建立一个每周持续的小型活动日历。我有本周从星期一开始到星期日结束
这是我的模型Event
:
class Event(models.Model):
title = models.CharField(max_length=40)
start = models.DateTimeField(default=datetime.datetime.now)
end = models.DateTimeField(default=datetime.datetime.now)
def __unicode__(self):
return self.title
这是我以这种格式显示日期的视图(10 月 21 日、10 月 22 日、10 月 23 日、10 月 24 日、10 月 25 日、10 月 26 日、10 月 27 日)
def events(request, template_name):
today = datetime.date.today()
weekday = today.weekday()
start_delta = datetime.timedelta(days=weekday)
start_of_week = today - start_delta
week_dates = []
for i in range(7):
week_dates.append(start_of_week + datetime.timedelta(days=i))
return render(request, template_name, {
'week_dates': week_dates,
})
我的问题是,如何在该周的特定日期显示/附加事件?例如,假设用户选择start
日期为 10 月 22 日,end
日期为 10 月 26 日,如何在相应日期下查询和显示?
这是我现在的简单模板代码,这需要更改样式,但为了这个问题,这里是最简单的形式:
<div id="events">
{% for d in week_dates %}
{% for event in events %}
{{ event.title}}
{% endfor %}
{{ d }}
{% endfor %}
</div>