The view didn't return an HttpResponse object.

856 views
Skip to first unread message

Satinderpal Singh

unread,
Oct 1, 2012, 6:36:44 AM10/1/12
to django...@googlegroups.com
I made a model form and a view which accepts input as a form and
display it in the html format. As when i refresh the html page or try
to fill another entry in the form, it gives the following error:

The view Automation.report.views.chemical_analysis didn't return an
HttpResponse object.

Here is the views that creates this problem:
def chemical_analysis(request):
if request.method=='POST':
form = chem_analysisForm(request.POST)
if form.is_valid():
cd = form.cleaned_data
form.save()
chem = chem_analysis.objects.all()
#return HttpResponseRedirect(chem)
return render_to_response('report/chemical_analysis.html',
{'chem': chem,},context_instance=RequestContext(request))

else:
form = chem_analysisForm()
return render_to_response('report/report.html', {"form":form},
context_instance=RequestContext(request))

Any help regarding this will be highly appreciated.

--
Satinderpal Singh
http://satindergoraya.blogspot.in/
http://satindergoraya91.blogspot.in/

Tom Evans

unread,
Oct 1, 2012, 6:57:34 AM10/1/12
to django...@googlegroups.com
If the request method is POST, but the form is not valid, then no
response is returned. You must return a response from every code path.

Cheers

Tom

Satinderpal Singh

unread,
Oct 1, 2012, 7:11:15 AM10/1/12
to django...@googlegroups.com
On Mon, Oct 1, 2012 at 4:27 PM, Tom Evans <teva...@googlemail.com> wrote:
> On Mon, Oct 1, 2012 at 11:36 AM, Satinderpal Singh
> <satinder...@gmail.com> wrote:
I add the following to my code,
>> I made a model form and a view which accepts input as a form and
>> display it in the html format. As when i refresh the html page or try
>> to fill another entry in the form, it gives the following error:
>>
>> The view Automation.report.views.chemical_analysis didn't return an
>> HttpResponse object.
>>
>> Here is the views that creates this problem:
>> def chemical_analysis(request):
>> if request.method=='POST':
>> form = chem_analysisForm(request.POST)
>> if form.is_valid():
>> cd = form.cleaned_data
>> form.save()
>> chem = chem_analysis.objects.all()
>> #return HttpResponseRedirect(chem)
>> return render_to_response('report/chemical_analysis.html',
>> {'chem': chem,},context_instance=RequestContext(request))
else:
return HttpResponse("There was an error with your
submission. Please try again.")
>>
>> else:
>> form = chem_analysisForm()
>> return render_to_response('report/report.html', {"form":form},
>> context_instance=RequestContext(request))
>>
>> Any help regarding this will be highly appreciated.
>>
>
> If the request method is POST, but the form is not valid, then no
> response is returned. You must return a response from every code path.
Thanks, it works and now gives the error message, can you please tell
me that why the input values are not saved in the database and it
gives only the error message. Point me where i am wrong.

Tom Evans

unread,
Oct 1, 2012, 7:20:23 AM10/1/12
to django...@googlegroups.com
The form is not valid; check the data you are submitting and the form
definition to see why. The invalid form object itself will specify why
it is invalid, see the docs:

https://docs.djangoproject.com/en/1.4/topics/forms/#using-a-form-in-a-view
https://docs.djangoproject.com/en/1.4/ref/forms/api/#using-forms-to-validate-data

Cheers

Tom

Babatunde Akinyanmi

unread,
Oct 1, 2012, 7:27:28 AM10/1/12
to django...@googlegroups.com
Its possible that when you refresh the form and the POST request gets
submitted, the form doesn't pass the form.is_valid() if conditional.
In your code, you didn't make any provision for when the form fails
the is_valid() test and from your code, execution stops once
is_valid() returns False so I **guess** that's where the problem lies.

Try re-rendering the submitted form if is_valid is False or doing a redirect.
> --
> You received this message because you are subscribed to the Google Groups
> "Django users" group.
> To post to this group, send email to django...@googlegroups.com.
> To unsubscribe from this group, send email to
> django-users...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/django-users?hl=en.
>
>

--
Sent from my mobile device

Babatunde Akinyanmi

unread,
Oct 1, 2012, 7:28:53 AM10/1/12
to django...@googlegroups.com
Oooops. I see the question has already been answered. My phone didn't
get the update on time.

Satinderpal Singh

unread,
Oct 1, 2012, 7:34:22 AM10/1/12
to django...@googlegroups.com
On Mon, Oct 1, 2012 at 4:58 PM, Babatunde Akinyanmi
<tunde...@gmail.com> wrote:
> Oooops. I see the question has already been answered. My phone didn't
> get the update on time.
No worries, Thanks anyways
Reply all
Reply to author
Forward
0 new messages