Имя пользователя доступно во всех шаблонах - PullRequest
2 голосов
/ 24 апреля 2011

Я пытаюсь сделать текущее имя пользователя доступным во всех шаблонах.Я могу получить его от pyramid.security.authenticated_userid, но для этого мне нужен объект запроса.Я попытался пройти через подписку BeforeRender, но, насколько я могу судить, запрос не был передан этому обратному вызову.

Как еще я могу сделать имя пользователя доступным везде (или в базовом шаблоне на самом деле?)

1 Ответ

5 голосов
/ 24 апреля 2011

Обычный метод - присоединение объекта пользователя к запросу по этому рецепту поваренной книги .

Другая возможность - присоединить его, как вы предлагали, используя BeforeRender подписчика. request доступен с event:

def add_renderer_globals(event):
    request, context = event['request'], event['context']
    event['user'] = authenticated_userid(request)
...