2

現在ログインしているユーザー名をすべてのテンプレートで使用できるようにしようとしています。から受け取ることができますがpyramid.security.authenticated_userid、そのためには request オブジェクトが必要です。サブスクリプション経由で行こうとしましたBeforeRenderが、私が知る限り、リクエストはそのコールバックに渡されませんでした。

ユーザー名をどこでも (または基本テンプレートで) 利用できるようにするにはどうすればよいですか?

4

1 に答える 1

5

一般的な方法は、このクックブック レシピを介してユーザー オブジェクトをリクエストにアタッチすることです。

BeforeRender別の可能性は、サブスクライバーを使用して提案したように添付することです。はrequest、 から入手できますevent

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