我正在尝试使当前登录的用户名在所有模板中都可用。我可以从 接收它pyramid.security.authenticated_userid
,但要做到这一点,我需要请求对象。我试图通过BeforeRender
订阅,但据我所知,请求没有传递给该回调。
我怎样才能让用户名在任何地方都可用(或者真的在基本模板中)?
我正在尝试使当前登录的用户名在所有模板中都可用。我可以从 接收它pyramid.security.authenticated_userid
,但要做到这一点,我需要请求对象。我试图通过BeforeRender
订阅,但据我所知,请求没有传递给该回调。
我怎样才能让用户名在任何地方都可用(或者真的在基本模板中)?
一种常见的方法是通过这个食谱将用户对象附加到请求中。
另一种可能性是按照您的建议使用BeforeRender
订阅者附加它。可request
从event
:
def add_renderer_globals(event):
request, context = event['request'], event['context']
event['user'] = authenticated_userid(request)