Как отобразить самые последние элементы недели по умолчанию с 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 чтобы получить номер недели).

Другие вопросы по тегам