如何使用WeekArchiveView默认显示最近一周的项目?

时间:2011-10-05 16:29:49

标签: python django django-1.3 django-class-based-views

我对基于类的通用视图的how little文档感到惊讶 任何比一个简单的样本稍微复杂的东西都必须通过猜测,反复试验来完成。

我想使用WeekArchiveView来显示一周的项目列表。

我的urls.py条目:

url(r'^items/(?P<year>\d{4})/week/(?P<week>\d{1,2})/$', ItemWeekArchiveView.as_view())

如果未指定yearweek,则会显示错误页面 我希望他们默认等于今天的年份和星期。

这里适合调整的地方是什么?我应该引入另一种混合并覆盖方法吗?

1 个答案:

答案 0 :(得分:3)

/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()),

Using isocalendar to get the week number)。