0
CreateView
がHttpResponse
を返さない理由がわかりません。今のところ、このビューは投稿専用です(GETはありません)。私はdef post
で見ることができるように、self.success_url
が十分であると思った。Django CreateViewがHttpResponseオブジェクトを返しませんでした
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
あなたは何をすべきか知っていますか?
あなたはポストブロックでスーパーの前にreturn文を忘れました – Vaibhav
とにかくここで 'post'を上書きしてはいけません。そのロジックは 'get_success_url'メソッドに入ります。 –
ありがとう@DanielRoseman! –