Джанго в то время как петля - PullRequest
3 голосов
/ 09 марта 2010

Интересно, есть ли способ сделать цикл while в django (я думаю, что это то, что мне нужно)?

То, что я пытаюсь сделать, это укрытый список ul / li.

Список генерируется циклом for в цикле for. Но так как некоторые элементы во втором цикле for имеют больше дочерних элементов, я хочу выполнить итерацию или их до и так далее, пока все дочерние узлы не будут выполнены итерацией. Единственный способ, который я нашел до сих пор, - это использовать другой цикл for. Но это кажется не общим и довольно повторяющимся. И мне нужно знать, сколько существует «уровней» ребенка.

Вот как это выглядит сейчас:

<ul>
    {% for item in items %}
        <li>
            {{ item.name }}
            {% if item.childs %}
                <ul>
                    {% for child in item.childs %}
                        <li>{{ child.name }}</li>
                    {% endfor %}
                 </ul>
            {% endif %}
        </li>
    {% endfor %}
</ul>

Или есть более разумный способ отправки данных в шаблон? Можно ли сделать это с помощью некоторого цикла for / while?

.. Фредрик

Ответы [ 3 ]

5 голосов
/ 09 марта 2010

Превратите список в тег включения , затем включите его в себя.

1 голос
/ 09 марта 2010

Похоже, рекурсия может решить вашу проблему, если вы хотите углубиться в «неизвестную» глубину дочерних элементов? * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *1004*

0 голосов
/ 02 февраля 2012
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...