mam tę ścieżkę w moim urls.py:Jak uzyskać dostęp do RequestContext w widokach ogólnych opartych na klasach?
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'
),
Teraz chcę wykryć w szablonie, jeśli strona jest aktualna (to dla menu stylizacji). Ani {{ request.path }}
ani {{ request.get_full_path }}
nie działają w szablonie.
Co powinienem użyć zamiast tego?
ROZWIĄZANIE
Aby uzyskać request
dostępne w szablonach musiałem dodać django.core.context_processors.request
do TEMPLATE_CONTEXT_PROCESSORS
. To nie jest ustawione domyślnie (od django 1.3).
Czy masz skonfigurowany procesor kontekstowy 'django .... request'? Prawie wszystkie CBV używają 'RequestContext' domyślnie – ilvar
OMG, oczywiście, że nie! :) Dziękuję za podpowiedź, dodałem '' django.core.context_processors.request'' w ustawieniach i 'request' jest już dostępny w szablonach. BTW, możesz opublikować swój komentarz jako odpowiedź i zagłosowałbym na to. –