Django:在导航栏中突出显示当前页面

Wes*_*ssi 6 html django django-templates python-3.x

在我的layout.html(有时称为base.html)中,我有一个这样的导航栏:

    <li class="dropdown"><a href="{% url 'index' %}" >Home </a></li>
    <li class="dropdown"><a href="{% url 'house_list' %}">Your houses</a></li>
    <li class="dropdown"><a href="{% url 'agency_list' %}">Agencies</a></li>
    <li class="dropdown"><a href="/admin">Admin</a></li>
    <li class="dropdown"><a href="{% url 'logout' %}"><i class="fa fa-lock"></i> Log ud</a></li>
    <li class="dropdown"><a href="{% url 'login' %}"><i class="fa fa-lock"></i> Log ind</a></li>
Run Code Online (Sandbox Code Playgroud)

我想突出显示导航栏中的当前页面,通过更改<li class="dropdown"><li class="dropdown active">

有没有办法让Django为用户所在的页面插入活动状态?任何帮助深表感谢!

我正在使用Django 1.9和Python 3.5.

Wil*_*ell 14

您可以获取url的名称(在urlpatterns中引用).如果网址匹配,则设置"有效"类.

{% with url_name=request.resolver_match.url_name %}
<li class="dropdown {% if url_name == 'index' %}active{% endif %}"
   <a href="{% url 'index' %}" >Home </a>
</li>
<li>...</li>
{% endwith %}
Run Code Online (Sandbox Code Playgroud)