我有以下的視圖,其延伸的基CreateView的:CreateView的未返回一個HttpResponse
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
),那麼我可以看到它具有正確的網址我期待我能做些什麼來解決這個問題?
你需要'form_valid'方法的返回值(如果你使用'ModelForm'):'return super(Peo pleImportCsv,self).form_valid(form)' –
@Timmy:很好,那就是缺少的。非常感謝你。你可以補充說,作爲答案,我可以接受它嗎? – hellsgate