2

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

我怎样才能让用户名在任何地方都可用(或者真的在基本模板中)?

4

1 回答 1

5

一种常见的方法是通过这个食谱将用户对象附加到请求中。

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

def add_renderer_globals(event):
    request, context = event['request'], event['context']
    event['user'] = authenticated_userid(request)
于 2011-04-24T18:35:04.993 回答