基于Django类的视图-返回HTTPResponse
为什么它不工作,而是返回基于Django类的视图-返回HTTPResponse,django,django-forms,django-views,Django,Django Forms,Django Views,为什么它不工作,而是返回ValueError?我试图从用户那里获得一个输入,然后根据用户的选择渲染一个特定的视图。如果我将return redirect()移回到post函数中,它确实可以工作 class Choice(View): form_class = SomeForm template_name = 'app/object_form.html' def get(self,request,*args, **kwargs):
ValueError
?我试图从用户那里获得一个输入,然后根据用户的选择渲染一个特定的视图。如果我将return redirect()
移回到post函数中,它确实可以工作
class Choice(View):
form_class = SomeForm
template_name = 'app/object_form.html'
def get(self,request,*args, **kwargs):
form = self.form_class()
return render (request, self.template_name, {'form':form})
def post(self,request,*args,**kwargs):
form = self.form_class(request.POST)
if form.is_valid():
self.redirect_to_createform(request,form.cleaned_data['choice'])
else:
print('form not valid')
print(form.errors)
return render (request, self.template_name, {'form':form})
def redirect_to_createform(self, request, option):
print(option)
## Here i should have some logic to redirect to different views depending on the `option`
return redirect('to_somewhere')
编辑-我理解错误的含义,但如何实现上述目标。您缺少返回语句,如下所示
if form.is_valid():
return self.redirect_to_createform(request,form.cleaned_data['choice'])
您缺少返回语句,如下所示
if form.is_valid():
return self.redirect_to_createform(request,form.cleaned_data['choice'])
是的,我现在恨我自己:))。Thx,10分钟后我会接受答案。是的,我现在恨我自己:))。Thx,10分钟后我会接受答案。谢谢。