Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 19, 2010 14:14:18

expee
От:
Зарегистрирован: 2009-12-21
Сообщения: 197
Репутация: +  0  -
Профиль   Отправить e-mail  

user в шаблонах

Как получить? По умолчанию в context его нет. Подключил django.core.context_processors.auth в TEMPLATE_CONTEXT_PROCESSORS - 0 эффекта.



Офлайн

#2 Фев. 19, 2010 14:31:32

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

user в шаблонах

Значит делаете что-то неправильно. Мой хрустальный шар говорит - использовался не RequestContext а просто Context.
RTFM

Офлайн

#3 Фев. 19, 2010 14:43:23

expee
От:
Зарегистрирован: 2009-12-21
Сообщения: 197
Репутация: +  0  -
Профиль   Отправить e-mail  

user в шаблонах

Я вообще ничего не передаю в шаблон из вьюшки. Если напрямую передавать в 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)

Офлайн

#4 Фев. 19, 2010 16:07:46

test157
От:
Зарегистрирован: 2009-02-25
Сообщения: 54
Репутация: +  0  -
Профиль   Отправить e-mail  

user в шаблонах

return render_to_response('my_template.html', context_instance=RequestContext(request))
и только после этого контекстные процессоры из файла с настройками будут в шаблонах



Офлайн

#5 Фев. 19, 2010 16:43:50

expee
От:
Зарегистрирован: 2009-12-21
Сообщения: 197
Репутация: +  0  -
Профиль   Отправить e-mail  

user в шаблонах

Понятно. Просто думал, что можно как-то обойтись без передачи каждый раз контекста в шаблон.



Офлайн

#6 Фев. 19, 2010 19:34:37

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

user в шаблонах

Прочитал про 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:

Офлайн

#7 Фев. 19, 2010 20:42:18

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2260
Репутация: +  41  -
Профиль   Отправить e-mail  

user в шаблонах

можешь вместо render_to_response юзать direct_to_template, если лень передавать контекст или @render_to

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version