Django общее количество итераций для вложенных циклов for
Пример: django doc
cities = [
{'name': 'Mumbai', 'population': '19,000,000', 'country': 'India'},
{'name': 'New York', 'population': '20,000,000', 'country': 'USA'},
{'name': 'Calcutta', 'population': '15,000,000', 'country': 'India'},
{'name': 'Chicago', 'population': '7,000,000', 'country': 'USA'},
{'name': 'Tokyo', 'population': '33,000,000', 'country': 'Japan'},
]
{% regroup cities by country as country_list %}
<ul>
{% for country, local_cities in country_list %}
<li>{{ country }}
<ul>
{% for city in local_cities %}
<li>{{ city.name }}: {{ city.population }}</li>
{% endfor %}
</ul>
</li>
{% endfor %}
</ul>
Как получить общее количество итераций внутреннего и внешнего цикла for для каждой итерации?
Желаемый результат: Индия 1)Мумбаи: 19,000,000 США 2)Нью-Йорк: 20,000,000 Индия 3)Калькутта: 15,000,000 США 4)Чикаго: 7,000,000 Япония 5)Токио: 33,000,000
forloop.counter и forloop.counter0 возвращают только внутренний индекс
Игнорировать теги!
Вы можете использовать упорядоченный список (<ol>
) и пропустить элементы, которые не должны быть пронумерованы
<ol>
{% for country, local_cities in country_list %}
{# this one wont be numbered #}
<li style="list-style-type: none">{{ country }}</li>
{% for city in local_cities %}
<li>{{ city.name }}: {{ city.population }}</li>
{% endfor %}
</li>
{% endfor %}
</ol>