简体   繁体   English

Django CreateView没有返回HttpResponse对象

[英]Django CreateView didn't return an HttpResponse object

Can't figure out why CreateView doesn't return HttpResponse . 无法弄清楚为什么CreateView不返回HttpResponse For now, I use this view just for posting (no GET). 现在,我仅使用此视图进行发布(不获取)。 I thought that set self.success_url should be enough (as you can see in def post ). 我认为设置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

Do you know what to do? 你知道该怎么办吗?

You forgot a return statement. 您忘记了退货声明。

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)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM