带有 Flask/Jinja 的 HTML 中的动态标题(扩展)

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


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


{% if logged == 1 %}

  {% extends "logged-index.html" %}

{% else %}

  {% extends "index.html" %}

{% endif %}


MMTTMM
浏览 78回答 2
2回答

回首忆惘然

如果您想要动态页眉/导航栏或页脚;您不能将 if/else 语句放入您扩展的主模板中,以便根据用户是否登录显示不同的链接和内容。这是我在我的网络应用程序上所做的:<ul class="navbar-nav">&nbsp; {% if current_user.is_authenticated %}&nbsp; <li class="nav-item">&nbsp; &nbsp; &nbsp; <a class="nav-link" href="{{ url_for('account') }}">Account</a>&nbsp; &nbsp; </li>&nbsp; <li class="nav-item">&nbsp; &nbsp; &nbsp; <a class="nav-link" href="{{ url_for('logout') }}">Logout {{current_user.username}}?</a>&nbsp; &nbsp; </li>&nbsp; {% else %}&nbsp; <li class="nav-item">&nbsp; &nbsp; <a class="nav-link" href="{{ url_for('logIn') }}">Login</a>&nbsp; </li>&nbsp; <li class="nav-item">&nbsp; &nbsp; <a class="nav-link" href="{{ url_for('signUp') }}">Sign Up</a>&nbsp; </li>&nbsp; {% endif %}

潇湘沐

也许我不明白你在追求什么,但是:我认为这将是与此动态标题逻辑相同的逻辑:&nbsp;<head>&nbsp;{% if logged == 1 %}&nbsp;<title>{{ username }} - is logged in</title>&nbsp;{% else %}&nbsp;<title>Welcome to My Website!</title>&nbsp;{% endif %}&nbsp;</head>我借用了这个概念: https ://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-ii-templates
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python