Django下拉分频器

时间:2017-01-02 19:59:06

标签: html django django-templates

我有一个下拉菜单,我通过循环遍历对象列表生成。在对象0,10和13之后我有一个分隔符。但是有些用户无法访问所有对象,因此分隔符不显示。有人建议在每个桶中的最后一个对象之后有一个好方法。即桶[0],[1-10],[11-13]。它们的桶是不同状态的区域。

我不一定要求别人为我编写代码。我只想问一下如何在概念上这样做,因为我对编码和Django都很陌生。非常感谢任何帮助!

<ul class="dropdown-menu">
    {% for i in area_list %}
        {% if not i.area_id == area.area_id %}
            {% if i.area_id == 0 or i.area_id == 10 or i.area_id == 13 %}
                <li><a href="{% url 'market_overview' area_id=i.area_id %}">{{ i.area_name }}</a></li>
                <li class="divider"></li>
            {% else %}
                <li><a href="{% url 'market_overview' area_id=i.area_id %}">{{ i.area_name }}</a></li>
            {% endif %}
        {% endif %}
    {% endfor %}
</ul>

1 个答案:

答案 0 :(得分:1)

forloop.last。尝试:

context['zones'] = (area_list[:1], area_list[1:11], area_list[11:])

<ul class="dropdown-menu">
    {% for areas in zones %}
        {% for i in areas %}
            {% if not i.area_id == area.area_id %}
                <li><a href="{% url 'market_overview' area_id=i.area_id %}">{{ i.area_name }}</a></li>
            {% endif %}
        {% endfor %}
        {% if not forloop.last %}
            <li class="divider"></li>
        {% endif %}
    {% endfor %}
</ul>

您还可以在视图中准备区域并过滤空区域。