Найти - Пользователи
Полная версия: user в шаблонах
Начало » Django » user в шаблонах
1
expee
Как получить? По умолчанию в context его нет. Подключил django.core.context_processors.auth в TEMPLATE_CONTEXT_PROCESSORS - 0 эффекта.
Ferroman
Значит делаете что-то неправильно. Мой хрустальный шар говорит - использовался не RequestContext а просто Context.
RTFM
expee
Я вообще ничего не передаю в шаблон из вьюшки. Если напрямую передавать в 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> - не работает (пользователь залогинен).
test157
return render_to_response('my_template.html', context_instance=RequestContext(request))
и только после этого контекстные процессоры из файла с настройками будут в шаблонах
expee
Понятно. Просто думал, что можно как-то обойтись без передачи каждый раз контекста в шаблон.
Ferroman
Прочитал про 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:
slav0nic
можешь вместо render_to_response юзать direct_to_template, если лень передавать контекст или @render_to
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB