django createview与success_url是同一个视图?

Mic*_*ael 7 django django-views

我正在使用Django CreateView,我想设置success_url相同的视图,以便在发布表单时,它显示相同的页面,除了表单之外我还可以显示创建的对象,以防您想要添加新表单.但是,self.object因为这是因为BaseCreateView:

def post(self, request, *args, **kwargs):
    self.object = None
    return super(BaseCreateView, self).post(request, *args, **kwargs)
Run Code Online (Sandbox Code Playgroud)

我得出的结论是,成功后不会重新显示CreateView?

Mic*_*ael 9

我在看错了地方.

我必须覆盖form_valid不重定向到URL(return HttpResponseRedirect(self.get_success_url()))

 def form_valid(self, form):
        self.object = form.save()

        # Does not redirect if valid
        #return HttpResponseRedirect(self.get_success_url())

        # Render the template
        # get_context_data populates object in the context 
        # or you also get it with the name you want if you define context_object_name in the class
        return self.render_to_response(self.get_context_data(form=form))
Run Code Online (Sandbox Code Playgroud)