Как использовать несколько for в шаблоне для получения элементов из объекта в django
Я передаю следующие переменные из бэкенда. Я хочу получить значения динамически.
num_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]
answers = [
{'date': datetime.date(2022, 8, 26), 1: 100.0, 2: 50.0, 3: None, 4: None, 5: None, 6: None, 7: None, 8: None, 9: None},
{'date': datetime.date(2022, 8, 27), 1: 100.0, 2: None, 3: None, 4: None, 5: None, 6: None, 7: None, 8: None, 9: None}
]
В своем шаблоне я использовал:
{% for i in answers %}
<tr>
<td>{{i.date}}</td>
{% for j in num_list %}
<td>{{i.j}}</td>
{% endfor %}
</tr>
{% endfor %}
Использование приведенного выше кода в шаблонах не дает мне вывода, он просто отображает пустоту. Но если вводить вручную, то все работает.
<td>{{i.1}}</td>
<td>{{i.2}}</td>
.
.
<td>{{i.9}}</td>
Есть ли решение для решения этой проблемы?
Вы можете собрать ответы в отдельный список, например, так:
{'date': datetime.date(2022, 8, 26), "num_list":[100.0, 50.0, None, None, None, None, None, None, None],}
Затем в шаблоне вы можете легко получить доступ к списку с помощью:
{% for i in answers %}
...
{% for j in i.num_list %}
....
Вышеприведенное не работает, потому что {{j}}
не является атрибутом {{i}}
, поэтому вы не можете сделать {{i.j}}