16

que tienen este camino en mi urls.py:¿Cómo acceder a RequestContext en las vistas genéricas basadas en clases?

archive_index_dict = { 
    'queryset': News.objects.filter(show=True), 
    'date_field': 'date', 
    'template_object_name': 'object_list', 
} 

... 

url(r'^$', 'django.views.generic.date_based.archive_index', 
     archive_index_dict, name='news_archive_index' 
    ), 

Ahora queremos detectar en la plantilla si una página es actual (esto es para un estilo de menú). Ni {{ request.path }} ni {{ request.get_full_path }} funcionan en plantilla.

¿Qué debo usar en su lugar?

SOLUCIÓN

Para obtener request disponibles en las plantillas he tenido que añadir a django.core.context_processors.requestTEMPLATE_CONTEXT_PROCESSORS. Esto no está configurado por defecto (desde django 1.3).

+0

¿Tiene configurado el procesador de contexto 'django .... request'? Casi todos los CBV usan 'RequestContext' de manera predeterminada – ilvar

+0

OMG, ¡por supuesto que no! :) Gracias por la sugerencia, he agregado ''django.core.context_processors.request'' en la configuración y' request' ahora está disponible en las plantillas. Por cierto, podrías publicar tu comentario como respuesta y yo votaría por él. –

Respuesta

20

¿Tiene 'django.core.context_processors.request' configuración de procesador de contexto? Casi todos los CBV usan RequestContext de forma predeterminada

Cuestiones relacionadas