Ive got the Request Context Error when trying to load my Form.
views.py
def add_company(request):
# Get the context from the request.
context = RequestContext(request)
# A HTTP POST?
if request.method == 'POST':
form = CompanyForm(request.POST)
# Have we been provided with a valid form?
if form.is_valid():
# Save the new category to the database.
form.save(commit=True)
# Now call the index() view.
# The user will be shown the homepage.
return index(request)
else:
# The supplied form contained errors - just print them to the terminal.
print form.errors
else:
# If the request was not a POST, display the form to enter details.
form = CompanyForm()
# Bad form (or form details), no form supplied...
# Render the form with error messages (if any).
return render_to_response('add_company.html', {'form': form}, context)
But its get stuck on the first line of the view. I made it same as on rango tutorial. There it works. But mine isnt working. Anyone a hint?
thanks
Request Header:
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding gzip, deflate
Accept-Language de,en-US;q=0.7,en;q=0.3
Cache-Control max-age=0
Connection keep-alive
Cookie csrftoken=I9120vmRATOck4a0SSqlfJPLl62PMUOR; sessionid=isx0p4ezb2y9m129v6243ui3ucuyvrak
Host localhost:8000
User-Agent Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:33.0) Gecko/20100101 Firefox/33.0
Response:
Content-Type text/html
Date Sun, 07 Dec 2014 22:01:03 GMT
Server WSGIServer/0.1 Python/2.7.6
X-Frame-Options SAMEORIGIN
Request Method: GET
Request URL: http://127.0.0.1:8000/comp/new
Django Version: 1.7.1
Exception Type: NameError
Exception Value:
name 'models' is not defined
Exception Location: /home/mandaro/django/comp/company/forms.py in CompanyForm, line 5
Python Executable: /usr/bin/python
Python Version: 2.7.6
GOT it:
Problem wasn t on form - it was template import problem. Imported render_to_response instead of render solved it. Now it can goes on. ciao and tx
you actually dont need to worry about passing RequestContext, because if you use render(), it handles it for you.
so you would do:
return render(request, 'add_company.html', {'form': form})
instead of
return render_to_response('add_company.html', {'form': form}, context)
thats it. of course, you need to import it as well.
from django.shortcuts import render
Hope, this solves your problem
Did you forget to import RequestContext?
from django.template import RequestContext
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With