Форум сайта python.su
Как получить? По умолчанию в context его нет. Подключил django.core.context_processors.auth в TEMPLATE_CONTEXT_PROCESSORS - 0 эффекта.
Офлайн
Значит делаете что-то неправильно. Мой хрустальный шар говорит - использовался не RequestContext а просто Context.
RTFM
Офлайн
Я вообще ничего не передаю в шаблон из вьюшки. Если напрямую передавать в RequestContext переменную, то все работает. Но, допустим, что есть панель пользователя, которая должна отображаться на всех страницах сайта. Тогда мне придется передавать request.user в каждый шаблон. Прочитал про TEMPLATE_CONTEXT_PROCESSORS и собственно в доках (http://docs.djangoproject.com/en/1.1/ref/templates/api/#django-core-context-processors-auth) сказано, что если его подключить, то будут доступны 3 переменных, в том числе и user. Я на всякий случай добавил его в settings, после чего в шаблоне (не передавая в него ничего) написал такое: <p>hello, {{ user }}</p> - не работает (пользователь залогинен).
Отредактировано (Фев. 19, 2010 14:44:42)
Офлайн
return render_to_response('my_template.html', context_instance=RequestContext(request))
Офлайн
Понятно. Просто думал, что можно как-то обойтись без передачи каждый раз контекста в шаблон.
Офлайн
Прочитал про TEMPLATE_CONTEXT_PROCESSORS и собственно в доках (http://docs.djangoproject.com/en/1.1/re … ssors-auth) сказано, что если его подключить, то будут доступны 3 переменных, в том числе и user.Плохо вы читали. Там же чётко написано о контексте:
If TEMPLATE_CONTEXT_PROCESSORS contains this processor, every RequestContext will contain these three variables:
Офлайн
можешь вместо render_to_response юзать direct_to_template, если лень передавать контекст или @render_to
Офлайн