4

ベース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 があることがわかります。これを整理するにはどうすればよいですか?

4

1 に答える 1