Pregunta

He activado el procesador de peticiones django

TEMPLATE_PROCESSORS = (
"django.core.context_processors.auth",
"django.core.context_processors.debug",
"django.core.context_processors.i18n",
"django.core.context_processors.media",
"django.core.context_processors.request",
)

Aún no tengo para solicitar variable disponible en las plantillas. Tengo que pasar manualmente. Usando Django 1.0.2 Por todas partes en la web parece que es sólo alrededor habilitado solicitud procesador ..

También estoy usando RequestContext como:

 return render_to_response(
    'profile.html',
    {
        'persons':Person.objects.all(),
        'person':Person.objects.get(id=id),
         'request':request,
    },
    context_instance=RequestContext(request)
)

sin suerte

ohh maldito el nuevo nombre para que sea TEMPLATE_CONTEXT_PROCESSORS

¿Fue útil?

Solución

settings.py:

TEMPLATE_CONTEXT_PROCESSORS = (
  # ...
  'django.core.context_processors.request',
  # ...
)

Otros consejos

TEMPLATE_CONTEXT_PROCESSORS en lugar de TEMPLATE_PROCESSORS

Tenga en cuenta que a partir de Django 1.8, esto ha cambiado a un ajuste de "plantillas", y en la configuración por defecto, el procesador de peticiones no está incluido.

TEMPLATES = [
{
    'BACKEND': 'django.template.backends.django.DjangoTemplates',
    'DIRS': [
        # insert your TEMPLATE_DIRS here
    ],
    'APP_DIRS': True,
    'OPTIONS': {
        'context_processors': [
            # Insert your TEMPLATE_CONTEXT_PROCESSORS here or use this
            # list if you haven't customized them:
            'django.contrib.auth.context_processors.auth',
            'django.template.context_processors.debug',
            'django.template.context_processors.i18n',
            'django.template.context_processors.media',
            'django.template.context_processors.static',
            'django.template.context_processors.tz',
            'django.contrib.messages.context_processors.messages',
        ],
    },
},]

Sólo tiene que añadir el procesador de solicitudes de nuevo a solucionar el problema:

'django.core.context_processors.request',

Para obtener más información, ver los Django Docs Actualización .

¿Está seguro que no tiene la variable request a disposición de la plantilla? ¿Qué pasa cuando se quita la línea

'request':request,

eso es diferente de cuando esa línea está presente. Si la plantilla se carga el mismo de cualquier manera, el problema está en su plantilla.

MIDDLEWARE_CLASSES = ( ... 'Yourfolder.yourfile.yourclass', ... yourclass:

AddRequestToTemplate clase: process_templaet_response (auto, petición, la respuesta): response.context_data [ 'solicitud'] = solicitud

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top