ベース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)
データベースで新しく作成されたオブジェクトの ID を取得できるように、get_success_url() メソッドを使用しています。ただし、フォームを送信しようとすると、次の ValueError メッセージが表示されます。
The view people.views.PeopleImportCsv didn't return an HttpResponse object.
get_success_url() で URL を割り当てた直後に を配置するとassert False
、期待どおりの正しい URL があることがわかります。これを整理するにはどうすればよいですか?