16

Ho questo percorso nella mia urls.py:Come accedere a RequestContext in viste generiche basate su classi?

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

Ora voglio rilevare in modello, se una pagina è corrente (questa è per il menu styling). Né {{ request.path }}{{ request.get_full_path }} funzionano nel modello.

Cosa dovrei usare invece?

SOLUZIONE

Per ottenere request disponibile in modelli ho dovuto aggiungere django.core.context_processors.request a TEMPLATE_CONTEXT_PROCESSORS. Questo non è impostato di default (dal django 1.3).

+0

Avete impostato il processore di contesto 'django .... request'? Quasi tutti i CBV utilizzano 'RequestContext' per impostazione predefinita – ilvar

+0

OMG, ovviamente no! :) Grazie per il suggerimento, ho aggiunto "django.core.context_processors.request'' nelle impostazioni e' request' è ora disponibile nei modelli. A proposito, potresti pubblicare il tuo commento come risposta e voterei a favore. –

risposta

20

Avete installato il processore di contesto 'django.core.context_processors.request'? Quasi tutti i CBV usano RequestContext per default