如果我转到index或annoucements页面,我将分别使用'index'或'announcements'page_name发送到模板embed_text。它应该将活动类设置为导航栏中的当前链接。 As shown in the picture (movies is my index page)
这是我在index.html模板中的代码
{% if embed_text.page_name == 'index' %}
{% block movies_active %}active{% endblock %}
{% endif %}
{% if embed_text.page_name == 'announcements' %}
{% block announcements_active %}active{% endblock %}
{% endif %}
base.html模板中的代码扩展到index.html
<li class="{% block movies_active %}{% endblock %}"><a href="{% url 'movies:index' %}"> Movies</a></li>
<li class="{% block announcements_active %}{% endblock %}"><a href="{% url 'movies:announcements' %}"> Announcemets</a></li>
因此,每次两个表达式都返回True并将两个链接都设置为活动时,您可以在图片中看到它。我知道,我错过了一些细节。请帮忙解决。
答案 0 :(得分:1)
block
代码不受if
代码的影响。你可以试试这个。
{% block movies_active %}{% if embed_text.page_name == 'index' %}active{% endif %}{% endblock %}
{% block announcements_active %}{% if embed_text.page_name == 'announcements' %}active{% endif %}{% endblock %}