#django #for-loop #django-templates
#django #for-loop #django-templates
Вопрос:
Это моя home.html
проблема с if block
:
{% for menu in menus %}
<div class="dropdown show">
<a class="btn dropdown-toggle" href="#" role="button" id="dropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
{{ menu.main_menu_item }}
</a>
<ul class="dropdown-menu" aria-labelledby="dropdownMenuLink">
{% for item in menu.items.all %}
{% for second_item in item.items_second_level.all %}
{% if item.items_second_level.all != None %}
<li class="dropdown-submenu"><a class="dropdown-item dropdown-toggle" href="#">{{ item.sub_menu_item }}</a>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="#">{{second_item.sub_menu_item}}</a></li>
</ul>
</li>
{% else %}
<li><a class="dropdown-item" href="#">{{ item.sub_menu_item }}</a></li>
{% endif %}
{% endfor %}
{% endfor %}
</ul>
</div>
{% endfor %}
А именно, {% else %}
часть всегда «пробелов». Когда я меняю условие на {% if item.items_second_level.all == None %}
опять же, показаны только те элементы, которые удовлетворяют if condition
get (очевидно, на этот раз те, которые не были показаны ранее). он ведет себя так, как будто его нет else
. Кто-нибудь знает, в чем может быть проблема?
Комментарии:
1. Если во втором lvl нет элементов, вам нечего повторять, если условие должно быть соответствующим циклу
2. Я буквально не могу поверить, что я это сделал. Спасибо!