Как добавить декоратор в представление на основе класса в django
У меня есть представление на основе класса signup в моем приложении аутентификации django. Я создал новый файл:
decorators.py
from django.shortcuts import redirect
def authenticated_user(view_func):
def wrapper_func(request, *args, **kwargs):
if not request.user.is_authenticated:
return view_func(request, *args, **kwargs)
else:
return redirect('/')
return wrapper_func
и на мой взгляд, у меня есть:
from .decorators import authenticated_user
class Signup(View):
@authenticated_user
def get(request):
...
И это приводит к ошибке:
AttributeError at /accounts/signup-professor/
'ProfessorRegister' object has no attribute 'user'
Но если я добавляю тот же декоратор в представление, основанное на функции, он работает. Почему это происходит и как это исправить?