django.core.context_processors.request Не работает
У меня есть это в моем setting.py
:
TEMPLATE_CONTEXT_PROCESSORS = (
'django.core.context_processors.request',
'django.core.context_processors.static',
'django.contrib.auth.context_processors.auth',
)
Всякий раз, когда я пытаюсь получить доступ к запросу в шаблоне (например, {{ request.user.get_profile.custom_username }}
) Я не получаю результата. Я думаю, что запрос не добавляется в шаблон, потому что, если я принудительно ввожу запрос в контекст (в представлении), я могу получить к нему доступ:
ctx = {}
#ctx['request'] = request
return render_to_response('index.html', ctx)
Любая помощь? Спасибо
2 ответа
Решение
Вместо этого используйте ярлык рендеринга, который легче запомнить:
return render(request, 'index.html', ctx)
RequestContext должен быть передан в шаблон, в django 1.3. Вы можете использовать render для автоматического включения этого или если вам нужно использовать render_to_response try:
return render_to_response('index.html',
ctx,
context_instance=RequestContext(request))