我正在学习 Django,并且正在学习 lynda.com 课程。在其中一门课程“构建电子学习网站”中,有以下代码:
class CourseModuleUpdateView(TemplateResponseMixin, View):
template_name = 'courses/manage/module/formset.html'
course = None
def get_formset(self, data=None):
return ModuleFormSet(instance=self.course,
data=data)
def dispatch(self, request, pk):
self.course = get_object_or_404(Course, id=pk, owner=request.user)
return super(CourseModuleUpdateView, self).dispatch(request, pk)
def get(self, request, *args, **kwargs):
formset = self.get_formset()
return self.render_to_response({'course': self.course,
'formset': formset})
def post(self, request, *args, **kwargs):
formset = self.get_formset(data=request.POST)
if formset.is_valid():
formset.save()
return redirect('manage_course_list')
return self.render_to_response({'course': self.course,
'formset': formset})
Run Code Online (Sandbox Code Playgroud)
但是我从 PyCharm(我的 IDE)收到一条错误消息:
def dispatch(self, request, pk):
Run Code Online (Sandbox Code Playgroud)
错误是:
Signature of method 'CourseModuleUpdateView.dispatch()' does not match signature of …Run Code Online (Sandbox Code Playgroud)