【发布时间】:2020-08-27 12:51:10
【问题描述】:
以下代码是我用于网站所有模板标题的代码,并将其添加到每个模板中:
{% include 'header.html' %}
我试图弄清楚如何将 class="active" 添加到我的标题上的链接中,以便根据当前页面突出显示相应的导航项。我试图定义一个函数,该函数根据哪个模板处于活动状态而返回不同的值,但我认为我没有正确定义它,因为当我将条件放入 html 时它会引发错误。我应该在类属性内还是在整个标签外使用 jinja 标签。另外,我怎么知道哪个是当前模板。请帮忙,谢谢!
{% load static %}
<header role="banner">
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
<div class="container-fluid">
<a class="navbar-brand " href="{% url 'main:index' %}">my site</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarsExample05" aria-controls="navbarsExample05" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarsExample05">
<ul class="navbar-nav pl-md-5 ml-auto">
<li class="nav-item">
<a class="nav-link active" href="{% url 'main:index' %}">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="{% url 'main:about' %}">Nosotros</a>
</li>
<li class="nav-item">
<a class="nav-link" href="projects.html">Ingeniería</a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="{% url 'main:services' %}" id="dropdown04" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Servicios</a>
<div class="dropdown-menu" aria-labelledby="dropdown04">
<a class="dropdown-item" href="services.html">Diseño</a>
<a class="dropdown-item" href="services.html">Impresión 3D</a>
<a class="dropdown-item" href="services.html">Mantenimiento</a>
</div>
</li>
<li class="nav-item">
<a class="nav-link" href="blog.html">Tienda</a>
</li>
<li class="nav-item">
<a class="nav-link" href="{% url 'main:contact' %}">Contáctenos</a>
</li>
</ul>
</div>
</div>
</nav>
</header>
【问题讨论】:
-
您想将该类添加到
<li class="nav-item">或<a>标记中吗? -
对不起,如果我不清楚,我指的是整个项目,但我想将它添加到 标记
-
你为什么使用
href="projects.html"?这个模板没有视图吗?我相信应该有一个TemplateView 只是呈现projects.html模板并作为响应返回。我问这个是因为我在访问“Ingeniería”选项卡时看不到实现模板处理的方法。
标签: html django django-templates jinja2