#python #django #django-models #django-views #django-templates
#python #django #django-модели #django-просмотры #django-шаблоны
Вопрос:
Я работаю с раскрывающимся списком в Django, и я сделал это. Но основная проблема заключается в следующем, если у category
нет subcategory
выпадающего списка, то он должен быть скрыт, пожалуйста, дайте мне знать, как я могу это сделать.
вот мой html
код при отображении category
, subcategory
и subchildcategory
..
{% for i in cat %}
<li class="mega" id="hover-cls"><a href="javascript:void()" class="has-submenu" id="sm-15980957729343015-21" aria-haspopup="true" aria-controls="sm-15980957729343015-22" aria-expanded="false">{{i.cat_name}}
<span class="sub-arrow"></span></a>
<ul class="mega-menu full-mega-menu" id="sm-15980957729343015-22" role="group" aria-hidden="true" aria-labelledby="sm-15980957729343015-21" aria-expanded="false">
<li>
<div class="container">
<div class="row">
{% for j in i.subcategoryies.all|slice:"0:10" %}
<div class="col mega-box">
<div class="link-section">
<div class="menu-title">
<h5>{{j.subcat_name}}<span class="according-menu"></span></h5>
</div>
<div class="menu-content" style="display: none;">
<ul>
{% for k in j.SubChildRelated.all %}
<li><a href="/subcategory/{{k.slug}}">{{k.name}}</a></li>
{% endfor %}
</ul>
</div>
</div>
</div>
{% endfor %}
</div>
</div>
</li>
</ul>
</li>
{% endfor %}
здесь будет отображаться {% for j in i.subcategoryies.all|slice:"0:10" %}
подкатегория, но если {{i.cat_name}}
ее нет subcategory
, то она не должна отображаться в виде выпадающего списка в главном меню, поэтому, пожалуйста, дайте мне знать, как я могу скрыть выпадающий список, если у категории нет подкатегории.
Ответ №1:
Вы можете использовать length
фильтр для SubChildRelated
и проверить, равно ли оно > 0.
Пример кода:
{% for i in cat %}
<li class="mega" id="hover-cls"><a href="javascript:void()" class="has-submenu" id="sm-15980957729343015-21" aria-haspopup="true" aria-controls="sm-15980957729343015-22" aria-expanded="false">{{i.cat_name}}
<span class="sub-arrow"></span></a>
<ul class="mega-menu full-mega-menu" id="sm-15980957729343015-22" role="group" aria-hidden="true" aria-labelledby="sm-15980957729343015-21" aria-expanded="false">
<li>
<div class="container">
<div class="row">
{% for j in i.subcategoryies.all|slice:"0:10" %}
<div class="col mega-box">
<div class="link-section">
<div class="menu-title">
<h5>{{j.subcat_name}}
// MODIFIED LINE BELOW
{% if j.SubChildRelated|length > 0 %}<span class="according-menu"></span>{% endif %}
</h5>
</div>
<div class="menu-content" style="display: none;">
<ul>
{% for k in j.SubChildRelated.all %}
<li><a href="/subcategory/{{k.slug}}">{{k.name}}</a></li>
{% endfor %}
</ul>
</div>
</div>
</div>
{% endfor %}
</div>
</div>
</li>
</ul>
{% endfor %}