0

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

<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 对用户进行身份验证。

4

1 回答 1

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,然后将结果传递给模板。

于 2015-04-25T09:48:13.907 回答