我从我的页面获得了以下html片段template.html.
<ul class='nav'>
<li class="active"><a href='/'>Home</a></li>
<li><a href='/lorem'>Lorem</a></li>
{% if session['logged_in'] %}
<li><a href="/account">Account</a></li>
<li><a href="/projects">Projects</a>
<li><a href="/logout">Logout</a></li>
{% endif %}
{% if not session['logged_in'] %}
<li><a href="/login">Login</a></li>
<li><a href="/register">Register</a></li>
{% endif %}
</ul>
Run Code Online (Sandbox Code Playgroud)
正如你在第2行看到的那样,这个类是活跃的.这突出显示了具有twitter bootstrap css文件的活动选项卡.现在,如果我要访问,这将工作正常www.page.com/但不是我访问时www.page.com/login的情况.它仍然会将主页链接突出显示为活动选项卡.
当然,我可以使用Javascript/jQuery轻松完成此操作,但在这种情况下我宁愿不使用它.
已经有一个工作解决方案为ruby on rails但我不知道如何将其转换为python/jinja(我对jinja/flask很新,从来没有使用ruby)
我想在每个页面上显示一个导航栏.在PHP中,我会编写导航栏,然后将其包含在其他页面上.我试图将导航栏模板包含或扩展到其他模板中,但它不起作用.它只输出"这是主页".如何在每个模板中正确包含导航栏?
layout.html
<!doctype html>
<html>
<body>
{% block navbar %}
<style>
body {
margin: 0;
padding: 0;
}
div{
background: #333;
color: #f9f9f9;
width: 100%;
height: 50px;
line-height: 50px;
text-align: center;
}
</style>
<div>NAVBAR</div>
{% endblock %}
{% block content %}
{% endblock %}
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
index.html
This is the home page.
{% extends "layout.html" %}
{% block navbar %} {% endblock %}
{% block content %}
<h1>This is the homepage!</h1>
{% endblock %}
Run Code Online (Sandbox Code Playgroud)