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))
Другие вопросы по тегам