簡體   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