毎週の小さなイベント カレンダーを作成しようとしています。月曜日から日曜日までの現在の週があります
これが私のモデルです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>