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