繁体   English   中英

动态 Header 在 HTML 与 Flask/Jinja(扩展)

[英]Dynamic Header In HTML with Flask/Jinja (Extend)

我想制作一个动态的 header,这取决于用户是否登录,我有一个自定义登录到活动目录。 登录cookie中的参数,我使用python中的.get来获取它。 我一直在寻找,但没有找到如何做到这一点。 任何帮助,将不胜感激。

无论如何,我总是得到 index.html,而且我确定我有 cookie。

{% if logged == 1 %}
  {% extends "logged-index.html" %}
{% else %}
  {% extends "index.html" %}
{% endif %}

如果您想要动态页眉/导航栏或页脚; 您不能将 if/else 语句放入您扩展的主模板中,以便根据用户是否登录显示不同的链接和内容。 这就是我在 web 应用程序上所做的:

<ul class="navbar-nav">
  {% if current_user.is_authenticated %}
  <li class="nav-item">
      <a class="nav-link" href="{{ url_for('account') }}">Account</a>
    </li>
  <li class="nav-item">
      <a class="nav-link" href="{{ url_for('logout') }}">Logout {{current_user.username}}?</a>
    </li>
  {% else %}
  <li class="nav-item">
    <a class="nav-link" href="{{ url_for('logIn') }}">Login</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" href="{{ url_for('signUp') }}">Sign Up</a>
  </li>
  {% endif %}

也许我不明白你在追求什么,但是:

我认为这将是与此动态标题逻辑相同的逻辑:

 <head>
 {% if logged == 1 %}
 <title>{{ username }} - is logged in</title>
 {% else %}
 <title>Welcome to My Website!</title>
 {% endif %}
 </head>

我借用了这个概念: https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-ii-templates

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM