Django: AttributeError: объект 'function' не имеет атрибута 'as_view', показанного в urls.py

Я написал много представлений на основе классов, а также настроил их урлы, но это представление показывает эту ошибку AttributeError: 'function' object has no attribute 'as_view' Я не могу определить, что происходит с представлением

urls.py

path('<slug:course_slug>/<slug:quiz_slug>/results/', views.QuizResultsView.as_view(), name="quiz_results"),

views.py

@method_decorator([login_required, teacher_required], name='dispatch')
class QuizResultsView(DetailView):
    model = Quiz
    context_object_name = 'quiz'
    template_name = 'classroom/teachers/quiz_results.html'

    def get_context_data(self, **kwargs):
        quiz = self.get_object()
        course = Course.objects.get(slug=course_slug)
        quiz = Quiz.objects.get(slug=quiz_slug, course=course)
        taken_quizzes = quiz.taken_quizzes.select_related('student__user').order_by('-date')
        total_taken_quizzes = taken_quizzes.count()
        quiz_score = quiz.taken_quizzes.aggregate(average_score=Avg('score'))
        extra_context = {
            'taken_quizzes': taken_quizzes,
            'total_taken_quizzes': total_taken_quizzes,
            'quiz_score': quiz_score,
            'total_questions':quiz.questions.count()
        }
        kwargs.update(extra_context)
        return super().get_context_data(**kwargs)

    def get_queryset(self):
        self.kwargs['course_slug']
        self.kwargs['quiz_slug']
        return self.request.user.quizzes.all()

используйте LoginRequiredMixin вместо декоратора login_required. login_required возвращает функцию, а as_view определен только для классов.

Вернуться на верх