2012-04-02 1 views
4

J'utilise Pyramid 1.3b avec un modèle Mako. J'ai un modèle de base qui affiche certains composants de navigation selon que l'utilisateur est connecté ou non. Je ne fais de cette façon:Comment vérifier l'identité d'un utilisateur authentifié dans les modèles 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 

Donc, je suis en train d'afficher une mise en page à deux colonnes si l'utilisateur est connecté, et juste une largeur de 100% div si l'utilisateur n'est pas connecté

.

J'utilise un bloc de code défini en haut pour vérifier si l'utilisateur est authentifié. Je me demande s'il y a une meilleure façon de le faire dans Pyramid?

Cordialement, Mark Huang

Répondre

5

C'est très bien. Normalement, dans le but de séparer la présentation et la logique, vous passez dans votre modèle le fait qu'un utilisateur est connecté, au lieu de le calculer dans mako. Aussi généralement vous avez besoin de plus d'informations sur l'utilisateur que juste qu'ils sont connectés. Pour cela, la recette de livre de recettes suivante est très utile.

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

Questions connexes