Django CreateView未返回HttpResponse

Django CreateView未返回HttpResponse,django,class-based-views,Django,Class Based Views,我有以下视图扩展了基本CreateView: class PeopleImportCsv(FailedLoginMessageMixin, CreateView): model = CsvFile form_class = CustomerCsvImportForm template_name = 'people/customer_uploadcsv_form.html' def get_success_url(self): url = reve

我有以下视图扩展了基本CreateView:

class PeopleImportCsv(FailedLoginMessageMixin, CreateView):
    model = CsvFile
    form_class = CustomerCsvImportForm
    template_name = 'people/customer_uploadcsv_form.html'

    def get_success_url(self):
        url = reverse('customer_process_csv', args=[self.object.id])
        return url

    def form_valid(self, form):
        instance = form.save(commit=False)
        instance.uploaded_by = self.request.user
        super(PeopleImportCsv, self).form_valid(form)
我正在使用get_success_url()方法,以便获取数据库中新创建的对象的id。但是,当我尝试提交表单时,会收到以下ValueError消息:

The view people.views.PeopleImportCsv didn't return an HttpResponse object.

如果我在get_success_url()中分配url后立即放置一个
assert False
,那么我可以看到它具有我所期望的正确url,那么我可以做些什么来解决这个问题呢?

您需要从
form\u valid
方法返回
(如果您使用的是
ModelForm
):

你可以


p.S这里有一个非常有用的站点,可以引用Djangos的许多基于类的视图:

对于
form\u valid
方法(如果您使用的是
ModelForm
):
return super(peopleimportcv,self)。form\u valid(form)
@Timmy:很好,这就是缺少的。非常感谢你。你能把它作为一个答案,这样我就可以接受它了吗?多好的链接啊!你还有其他网站吗?我今天找到了一个适合django链接的好网站:。你可能会在那里找到更有趣的东西。
def form_valid(self, form):
    instance = form.save(commit=False)
    instance.uploaded_by = self.request.user
    return super(PeopleImportCsv, self).form_valid(form)