Ключевое слово def
означает, что вы реализуете функцию . Но здесь вы указываете не функцию, а класс . Вы определяете класс с помощью ключевого слова class
, например:
from django.views import generic
from .models import Choice, Question
<b>class</b> IndexView(generic.ListView):
template_name = 'polls/index.html'
contest_object_name = 'latest_question_list'
<b>def</b> get_queryset(self):
"""Return the last five published questions"""
return Question.objects.order_by('-pub_date')[:5]
<b>class</b> DetailView(generic.DetailView):
model = Question
template_name = 'polls/detail.html'
Это вызывает ошибку, поскольку функции могут принимать параметры, но имена параметров не могут содержать точек.
Вы также забыли использовать def
для определения метода get_queryset
.