現在ログインしているユーザー名をすべてのテンプレートで使用できるようにしようとしています。から受け取ることができますがpyramid.security.authenticated_userid
、そのためには request オブジェクトが必要です。サブスクリプション経由で行こうとしましたBeforeRender
が、私が知る限り、リクエストはそのコールバックに渡されませんでした。
ユーザー名をどこでも (または基本テンプレートで) 利用できるようにするにはどうすればよいですか?
現在ログインしているユーザー名をすべてのテンプレートで使用できるようにしようとしています。から受け取ることができますがpyramid.security.authenticated_userid
、そのためには request オブジェクトが必要です。サブスクリプション経由で行こうとしましたBeforeRender
が、私が知る限り、リクエストはそのコールバックに渡されませんでした。
ユーザー名をどこでも (または基本テンプレートで) 利用できるようにするにはどうすればよいですか?
一般的な方法は、このクックブック レシピを介してユーザー オブジェクトをリクエストにアタッチすることです。
BeforeRender
別の可能性は、サブスクライバーを使用して提案したように添付することです。はrequest
、 から入手できますevent
。
def add_renderer_globals(event):
request, context = event['request'], event['context']
event['user'] = authenticated_userid(request)