django.core.context_processors.request Не работает - PullRequest
1 голос
/ 13 февраля 2012

У меня есть это в моем 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 ]

7 голосов
/ 13 февраля 2012

Используйте вместо этого ярлык рендеринга, его легче запомнить:

return render(request, 'index.html', ctx)
2 голосов
/ 13 февраля 2012

RequestContext необходимо передать в шаблон, в django 1.3.Вы можете использовать render для автоматического включения этого или если вам нужно использовать render_to_response try:

return render_to_response('index.html',
                          ctx,
                          context_instance=RequestContext(request))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...