所有模板中都有用户名

时间:2011-04-24 15:05:50

标签: python authentication login pyramid

我正在尝试在所有模板中提供当前登录的用户名。我可以从pyramid.security.authenticated_userid收到它,但要做到这一点,我需要请求对象。我尝试通过BeforeRender订阅,但据我所知,请求未传递给该回调。

我怎样才能在任何地方(或在基本模板中)提供用户名?

1 个答案:

答案 0 :(得分:5)

一种常见的方法是通过此cookbook recipe将用户对象附加到请求。

另一种可能性是按照您的建议使用BeforeRender订阅者附加它。 request可以使用event

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