我目前正在检查每个菜单项上模板中的变量,看看是否应该添加一个CSS类来突出显示它。
{% if title == "Home" %}
<li class="active">
{% else %}
<li>
{% endif %}
我想创建一个包含四个菜单项的列表。为了达到预期的效果,我将不得不重复上述代码四次。
"menu":[
{"title":"home", "link":"/"},
{"title":"about", "link":"about"},
{"title":"contact","link":"contact"}
]
是否有更简单的方法在列表中循环并突出显示相应的项目?
1 个答案:
答案 0 :(得分:7)
而不是传递任何东西,或试图解析一些网址或列表,只需制作模板的高亮部分。
创建一个包含菜单的基本模板,每个class = property都有一个块。
&LT; UL&GT;
&lt; li class =&#34; {%block nav_home%} {%endblock%}&#34;&gt; Home&lt; / li&gt;
&lt; li class =&#34; {%block nav_about%} {%endblock%}&#34;&gt;关于&lt; / li&gt;
&lt; li class =&#34; {%block nav_contact%} {%endblock%}&#34;&gt;联系&lt; / li&gt;
&LT; / UL&GT;
在扩展基础的页面模板中,使用值&#34; active&#34;覆盖其中一个块。
{%extends&#34; base.html&#34; %}
{%block nav_contact%}有效{%endblock%}
{%block content%}&lt; h3&gt;联系&lt; / h3&gt; {%endblock%}