在网址中声明时,需要在基于类的视图的末尾使用as_view():
path('', views.HomeView.as_view(), name='homepage'),
另外,使用login_required
装饰器时,需要在CBV的分派方法上使用它:
from django.contrib.auth.decorators import login_required
from django.utils.decorators import method_decorator
class HomeView(ListView):
@method_decorator(login_required)
def dispatch(self, *args, **kwargs):
return super(HomeView, self).dispatch(*args, **kwargs)