Мой код меню
<ul class="header_ul navbar-nav mt-2 mt-lg-0 margin-auto">
{% recursetree menu_top %}
<li class="nav-item{% if not node.is_leaf_node %}dropdown{% endif %}">
<a {% if node.slug in request.path %} class="current" {% endif %} {% if not node.is_leaf_node %}class="dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"{% else %} href="/{{node.slug}}"{% endif %}>{% if node.icon %}<i class="fa {{node.icon}}"></i> {% else %}{% endif %}{{node.title}}</a>
{% if not node.is_leaf_node %}
<ul class="dropdown-menu" aria-labelledby="navbarDropdown">
{{children}}
</ul>
{% endif %}
</li>
{% endrecursetree %}
</ul>
Такой код работает, но есть запросы в фильтре такие, что в request.path включают slug некорых пунктов, ну и собственно они становятся активными. Например такой запрос /handbooks/viewofcargo/passazhirskie/ включает два пунтка меню (cargo и handbook) и таких запросов много. Как исклчить такие моменты?