Django CreateView没有返回HttpResponse对象

Mil*_*ano 0 python django django-views django-class-based-views

无法弄清楚为什么CreateView不回来HttpResponse.现在,我使用此视图仅用于发布(无GET).我认为那套self.success_url应该足够了(你可以看到def post).

class TripCreationView(CreateView):
    form_class = TripCreationForm
    template_name = 'frontend/homepage.html'

    def post(self, request, *args, **kwargs):
        self.success_url = request.POST.get('success_url') or reverse('frontend:homepage')
        super(TripCreationView, self).post(self, request, *args, **kwargs)
    #
    # def form_valid(self, form):
    #     trip = form.save(self.request)
    #     return HttpResponseRedirect(self.success_url)

    def get_form_kwargs(self):
        kwargs = super(TripCreationView, self).get_form_kwargs()
        kwargs['user'] = self.request.user
        return kwargs
Run Code Online (Sandbox Code Playgroud)

你知道该怎么办吗?

Abh*_*kan 5

你忘记了一份退货声明.

def post(self, request, *args, **kwargs):
    self.success_url = request.POST.get('success_url') or reverse('frontend:homepage')
    return super(TripCreationView, self).post(self, request, *args, **kwargs)
Run Code Online (Sandbox Code Playgroud)