我正在使用带有 Mako 模板的 Pyramid 1.3b。我有一个基本模板,它根据用户是否登录显示一些导航组件。我是这样做的:
<%!
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
因此,如果用户已登录,我将尝试显示两列布局,如果用户未登录,则仅显示 100% 宽度的 div。
我正在使用顶部定义的代码块来检查用户是否已通过身份验证。我想知道在 Pyramid 中是否有更好的方法来做到这一点?
问候, 马克·黄
最佳答案
这很好。通常为了分离表示和逻辑,您会将用户已登录的事实传递到您的模板中,而不是在 mako 中计算它。此外,通常您需要有关用户的更多信息,而不仅仅是他们已登录。为此,以下食谱非常有用。
http://docs.pylonsproject.org/projects/pyramid_cookbook/en/latest/auth/user_object.html
关于python - 如何在 Pyramid 模板中检查经过身份验证的用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9974647/