2012-04-02 7 views
4

私はMakoテンプレートでPyramid 1.3bを使用しています。私はユーザーがログインしているかどうかに基づいていくつかのナビゲーションコンポーネントを表示する基本テンプレートを持っています。 、私はユーザーがログインしていない場合、ユーザーがログインしている場合は2列のレイアウト、およびちょうど100%の幅のdivを表示しようとしていますので、Pyramidテンプレートで認証されたユーザーを確認する方法は?

 <%! 
     from pyramid.security import authenticated_userid 

     def is_authenticated(request): 
      return authenticated_userid(request) 
     %> 

% if is_authenticated(request): 
     <!-- 2 Column --> 
     <div class="row-fluid main-content"> 
      <div class="span2"> 
      <ul class="nav nav-list"> 
       <li class="nav-header"> 
       Company A 
       </li> 
       <li class="active"><a herf="/product/add">Product</a></li> 
       <li><a href="#">Order</a></li> 
      </ul> 
      </div> 
      <div class="span10"> 
      ${self.body()} 
      </div> 
     </div> 
     <!-- End of 2 column --> 
% else: 
     ${self.body()} 
% endif 

:私はそれをこのようにやっています。

私は、ユーザーが認証されているかどうかを確認するために、一番上に定義されたコードブロックを使用しています。私はピラミッドでこれを行うより良い方法があるのだろうかと思っていますか?

よろしく、 マーク・黄

答えて

5

これで結構です。通常、プレゼンテーションとロジックを分離する目的で、ユーザーがmakoで計算する代わりに、ユーザーがログインしているという事実をテンプレートに渡します。また、通常、ログインしているだけではなく、ユーザーに関する詳細情報が必要です。そのためには、次の料理レシピは非常に便利です。

http://docs.pylonsproject.org/projects/pyramid_cookbook/en/latest/auth/user_object.html

関連する問題