如何根据 Python 中的 cookie 在 bootstrap 导航栏中仅显示某些项目?
How do I only show certain items in a bootstrap navbar based on cookies in Python?
我的 bootstrap 导航栏在我的基本模板中,看起来像这样:
<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>
我想让导航栏在用户未登录时隐藏“新建”Post 和“注销”列表项,并在用户登录时隐藏“登录”和“注册”列表项。关于如何实现这一点的任何提示?
如果有帮助,我将 Python 2.7 与 Jinja2 一起使用,并且我正在使用 cookie 对用户进行身份验证。
你可以使用这样的东西:
{% 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,然后将结果传递给模板。
我的 bootstrap 导航栏在我的基本模板中,看起来像这样:
<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>
我想让导航栏在用户未登录时隐藏“新建”Post 和“注销”列表项,并在用户登录时隐藏“登录”和“注册”列表项。关于如何实现这一点的任何提示?
如果有帮助,我将 Python 2.7 与 Jinja2 一起使用,并且我正在使用 cookie 对用户进行身份验证。
你可以使用这样的东西:
{% 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,然后将结果传递给模板。