Как я могу передать значения элементов списка по индексу в шаблон - как количество итераций цикла?

Как я могу передать значения элементов списка по индексу в шаблон - как количество итераций цикла?

У меня есть цикл в шаблоне, и я хотел бы передать количество итераций в цикле в качестве значения элемента в списке.

[10, 5, 8] - каждому элементу списка соответствует требуемое количество итераций.

list_2 = [10, 5, 8]
       j = 0
       i = 0
       {% for len(list_1) ...number of iterations... in  %}
            <a>list_1[j]</a>
            {% for list_2[j] ...number of iterations... in  %}
            <div>
                {{ list_3[i] }}
                i = i + 1    
            </div>
            {% endfor %}
            j = j + 1
       {% endfor %}
<время работы/>
<div>
        <fieldset>
            <legend>{{ form_2.name_working.label }}</legend>
            {% for radio in form_2.name_working %}
            <div class="myradio">
                {{ radio }}
            </div>
            {% endfor %}
        </fieldset>
    </div>

Если я правильно понимаю, вам нужно 2 пользовательских шаблонных фильтра: один для получения элемента списка по индексу, а другой для генерации диапазона из числа

# The 1st templatetag
from django import template

register = template.Library()

@register.filter
def list_item(the_list, index):
    return the_list[index]
# The 2nd tmeplatetag
from django import template

register = template.Library()

@register.filter
def num_range(num):
    return range(num)

Эти 2 файла должны находиться в your_app/templatetags/ , с дополнительным __init__.py , чтобы сервер загружал их при запуске.

А затем в вашем шаблоне

{% load list_item num_range %}

{% for j in list_1 %}
    <div>{{ j }}</div>
    {% for i in list_2|list_item:j|num_range %}
    <div>
        {{ list_3|list_item:i }}
    </div>
    {% endfor %}
{% endfor %}
Вернуться на верх