我有一个我试图扩展的基本模板。在该模板中,我有一个需要传递变量的导航。
我正在做的是努力扩展'通过使用像这样的包含:
{% include "base.html" with active_nav='atInventory' %}
但是这并没有以正确的顺序呈现扩展内容的基础块。
导航在基座中设置如下:
<nav class="col-xs-12 paddingVertical-sm">
<ul class="removePadding removeMargin txtXxs">
<li class="{% if active_nav == 'atContact' %} activeNav {% else %} inactiveNav{% endif %}">
<a href="{% url 'contact' %}">CONTACT<a>
</li>
<li class="{% if active_nav == 'atAbout' %} activeNav {% else %} inactiveNav{% endif %}">
<a href="{% url 'about' %}">ABOUT</a>
</li>
<li class="{% if active_nav == 'atProjects' %} activeNav {% else %} inactiveNav{% endif %}">
<a href="{% url 'projects' %}">PROJECTS & CLINICS</a>
</li>
<li class="{% if active_nav == 'atServices' %} activeNav {% else %} inactiveNav{% endif %}">
<a href="{% url 'services' %}">SERVICS</a>
</li>
<li class="{% if active_nav == 'atInventory' %} activeNav {% else %} inactiveNav{% endif %}">
<a href="{% url 'inventory' %}">INVENTORY</a>
</li>
<li class="{% if active_nav == 'atHome' %} activeNav {% else %} inactiveNav{% endif %}">
<a href="{% url 'index' %}">HOME</a>
</li>
<br class="clear-fix">
</ul>
<img src="{% static 'images/assets/klossviolins_logo.png' %}" />
<br class="clear-fix">
</nav>
有更好的方法吗?或者这只是需要稍微调整一下?提前感谢您提供任何帮助。
答案 0 :(得分:0)
我不会这样做 - 按照预期的方式扩展它。包括用于包含可重用组件。在这里,您只需要每个模板都可以扩展您的&#39; base.html&#39; {%extends&#39; base.html&#39;%}
也是一个指针 - 我用微小的脚本而不是大量的if语句来做主动导航。因此,为每个li元素添加一个ID(在我的示例中为#nav-home for index),并在您的主页上添加如下内容:
<script>
$(document).ready(function() {
$( "#nav-home").addClass("activeNav");
});
</script>