After upgrading to Django 1.10, I get the error render_to_response() got an unexpected keyword argument 'context_instance'.
My view is as follows:
from django.shortcuts import render_to_response from django.template import RequestContext  def my_view(request):     context = {'foo': 'bar'}     return render_to_response('my_template.html', context, context_instance=RequestContext(request))   Here is the full traceback:
Traceback:  File "/Users/alasdair/.virtualenvs/django110/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner   39.             response = get_response(request)  File "/Users/alasdair/.virtualenvs/django110/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response   187.                 response = self.process_exception_by_middleware(e, request)  File "/Users/alasdair/.virtualenvs/django110/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response   185.                 response = wrapped_callback(request, *callback_args, **callback_kwargs)  File "/Users/alasdair/dev/rtr/rtr/urls.py" in my_view   26.     return render_to_response('my_template.html', context,  context_instance=RequestContext(request))   Exception Type: TypeError at / Exception Value: render_to_response() got an unexpected keyword argument 'context_instance' 
                The context_instance parameter in render_to_response was deprecated in Django 1.8, and removed in Django 1.10.
The solution is to switch to the render shortcut, which automatically uses a RequestContext.
Update your imports and view as follows. Note that render takes the request object as its first argument.
from django.shortcuts import render  def my_view(request):     context = {'foo': 'bar'}     return render(request, 'my_template.html', context)   The render shortcut was introduced in Django 1.3, so this change is compatible with older versions of Django.
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