我有观点:
def about(request):
return render(request, 'about.html', {'page_about_exist':1,})
在html中我有这段代码:
<li {% if page_about_exist %} class="active" {% endif %}><a href="{% url about_project %}"> About</a></li>
所以,如果我转到About页面,在菜单中它有类活动,我可以直观地看到它。 没有字典还有其他方法吗?因为我有url
url(r'^accounts/login/$', 'django.contrib.auth.views.login', name='login',),
我的字典方式在那里看起来不太好。感谢。
答案 0 :(得分:1)
你应该使用模板继承来做这种事情。例如,您的base.html
可能包含导航列表:
<li{% block products %}{% endblock %}><a href...>Products</a></li>
<li{% block about %}{% endblock %}><a href...>About</a></li>
然后在您的about
模板中(假设它继承自base
),您有:
{% block about %} class="active"{% endblock %}
这将使用您为活动页面定义的类呈现为纯html。因为它使用简单的模板继承,所以你也可以通过它获得非常好的控制。
答案 1 :(得分:1)
我使用自己的名为ifnav
的模板标记。
用法非常简单。只需将其添加到INSTALLED_APPS
并确保请求上下文处理器已激活。
之后你可以这样写:
<li {% ifnav "^/about/" %} class="active" {% endifnav %}><a href="{% url about_project %}"> About</a></li>
对于当前项目,我使用Django CMS来处理渲染导航。