python - site - latest django




Error de Django: render_to_response() obtuvo un argumento de palabra clave inesperado 'context_instance' (2)

El parámetro context_instance en render_to_response quedó en desuso en Django 1.8 y se eliminó en Django 1.10.

La solución es cambiar al acceso directo de render , que usa automáticamente un RequestContext .

Actualice sus importaciones y visualice de la siguiente manera. Tenga en cuenta que render toma el objeto de request como primer argumento.

from django.shortcuts import render

def my_view(request):
    context = {'foo': 'bar'}
    return render(request, 'my_template.html', context)

El acceso directo de render se introdujo en Django 1.3, por lo que este cambio es compatible con versiones anteriores de Django.

Después de actualizar a Django 1.10, render_to_response() got an unexpected keyword argument 'context_instance' el error render_to_response() got an unexpected keyword argument 'context_instance' .

Mi opinión es la siguiente:

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))

Aquí está el rastreo completo:

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'

en Django 1.8 es compatible:

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}, context_instance=RequestContext(request))

en Django 1.11

from django.shortcuts import render
from django.template import RequestContext

def my_view(request):
    context = {'foo': 'bar'}
    return render(request, 'my_template.html', context)