我的应用程序非常简单,它有一个基于WeekArchiveView类的视图:
class MenuWeekArchiveView(WeekArchiveView):
queryset = Menu.objects.all()
及其相应的网址:
url(r'^(?P<year>[0-9]{4})/week/(?P<week>[0-9]+)/$', menu.views.MenuWeekArchiveView.as_view(), name="menu_week"),
我想让我的应用程序的主页返回当前周。
使用基于功能的旧视图,这很容易。我只是让主页以当前周数作为参数返回该函数。
today = datetime.date.today()
current_week_number = today.isocalendar()[1]
current_year = today.year
return week_view(request, year=current_year, week=current_week_number)
重定向是不可接受的,因为当有人为该页面添加书签时,他们会在那一周书签。
答案 0 :(得分:2)
View.as_view()
会返回您可以使用的正确视图函数:
today = datetime.date.today()
current_week_number = today.isocalendar()[1]
current_year = today.year
return MenuWeekArchiveView.as_view()(request, year=current_year, week=current_week_number)