【问题标题】:How to check for authenticated user in Pyramid templates?如何在 Pyramid 模板中检查经过身份验证的用户?
【发布时间】:2012-04-16 00:11:48
【问题描述】:

我正在使用带有 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 中是否有更好的方法来做到这一点?

问候, 黄马克

【问题讨论】:

    标签: python pyramid mako


    【解决方案1】:

    这很好。通常,为了分离表示和逻辑,您会将用户登录的事实传递到模板中,而不是在 mako 中计算它。此外,通常您需要更多关于用户的信息,而不仅仅是他们登录的信息。为此,以下食谱非常有用。

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

    【讨论】:

      猜你喜欢
      • 2011-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-20
      相关资源
      最近更新 更多