【问题标题】:How do I only show certain items in a bootstrap navbar based on cookies in Python?如何仅在 Python 中基于 cookie 的引导导航栏中显示某些项目?
【发布时间】:2015-04-25 09:39:18
【问题描述】:

我的引导导航栏位于我的基本模板中,如下所示:

<ul class="nav navbar-nav">
    <li><a href="/">Home</a></li>
    <li><a href="/about">About</a></li>
    <li><a href="/post">New Post</a></li>   
    <li><a href="/login">Login</a></li>
    <li><a href="/logout">Logout</a></li>
    <li><a href="/register">Register</a></li>
</ul>

我想让导航栏在用户未登录时隐藏 New Post 和 Logout 列表项,并在他登录时隐藏 Login 和 Register 列表项。有关如何使这成为可能的任何提示?

如果有帮助,我将 Python 2.7 与 Jinja2 一起使用,并使用 cookie 对用户进行身份验证。

【问题讨论】:

  • 你使用什么框架?
  • webapp2.我从 Udacity 的 CS253 课程中学到了大部分东西。

标签: python twitter-bootstrap google-app-engine google-app-engine-python


【解决方案1】:

你可以使用这样的东西:

{% if user %}
    <ul class="nav navbar-nav">
        <li><a href="/">Home</a></li>
        <li><a href="/about">About</a></li>
        <li><a href="/post">New Post</a></li>  
        <li><a href="/logout">Logout</a></li>
    </ul>
{% elif not user %}
    <ul class="nav navbar-nav">
        <li><a href="/">Home</a></li>
        <li><a href="/about">About</a></li> 
        <li><a href="/login">Login</a></li>
        <li><a href="/register">Register</a></li>
    </ul>
{% endif %}

假设您将变量user 传递给模板,该变量取决于cookie 的存在与否。因此,您必须首先在视图中验证是否设置了 cookie,然后将结果传递给模板。

【讨论】:

  • 非常感谢!这正是我想要的。
猜你喜欢
  • 2019-02-23
  • 1970-01-01
  • 2015-01-04
  • 1970-01-01
  • 2019-01-08
  • 1970-01-01
  • 1970-01-01
  • 2017-05-27
  • 1970-01-01
相关资源
最近更新 更多