Как отобразить самые последние элементы недели по умолчанию с WeekArchiveView?
Я удивлен тем, как мало документации по общим представлениям на основе классов.
Все, что немного сложнее, чем тривиальный образец, должно быть сделано с помощью догадок, проб и ошибок.
Я хочу использовать WeekArchiveView
для отображения списка пунктов недели.
Там мой urls.py
запись:
url(r'^items/(?P<year>\d{4})/week/(?P<week>\d{1,2})/$', ItemWeekArchiveView.as_view())
Когда нет year
или же week
указан, я получаю страницу ошибки.
Я хочу, чтобы они равнялись сегодняшнему году и неделе по умолчанию.
Какое место для настройки здесь? Должен ли я ввести другое смешивание и переопределить метод?
1 ответ
URL, как /items/
или же /items/2011/
не будет соответствовать вашему регулярному выражению, потому что \d{4}
означает ровно 4 цифры.
Вы, вероятно, должны указать две другие записи URL для обоих случаев:
url(r'^items/$', AchievementListView.as_view(
year=str(date.today().year), week=str(date.today().isocalendar()[1])
)),
url(r'^items/(?P<year>\d{4})/week/(?P<week>\d{1,2})/$', ItemWeekArchiveView.as_view()),
( Используя isocalendar
чтобы получить номер недели).