Django自定义视图从1.1更新到2.2后停止工作
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django自定义视图从1.1更新到2.2后停止工作相关的知识,希望对你有一定的参考价值。
背景故事。我从两个人手中接手了一个网站,他们因为经济原因想放弃这个网站,但他们唯一的客户不想改变他们的系统,所以我接下了这个工作来维护它。
我从1.1更新到了Django 2.2,看起来似乎完美无缺,但一个特定的视图停止工作,并返回了 内部服务器错误(500). 我排除了几个小时的故障,发现核心问题出在ScheduleView上。如果我把视图改成Django预制视图,就能正常工作。我漏掉了什么?
ScheduleView类
class ScheduleView(TherapistRequiredMixin, SuccessMessageMixin, FormView):
form_class = ScheduleForm
template_name = "schedule.html"
success_message = "Nya bokningstillfällen är skapade"
def get_success_url(self):
return reverse('schedule')
def form_valid(self, form):
ret = form.save()
if ret:
messages.error(self.request, ret)
# return super(ScheduleView, self).form_invalid(form)
return super().form_invalid(form)
else:
# return super(ScheduleView, self).form_valid(form)
return super().form_valid(form)
答案
问题解决了。这是Django 2.2中的一个语法错误,所以我被迫给出了一个'渲染器'的参数。
以上是关于Django自定义视图从1.1更新到2.2后停止工作的主要内容,如果未能解决你的问题,请参考以下文章
如何根据 django 模板中的不同提交按钮在更新视图中自定义成功 url?