Доступ к индексу в шаблоне Django в цикле for
#views.py
.
.
.
detailedStatement = {
'selectedOption1' : '90 degrees',
'correctAnswer1' : '180 degrees',
'selectedOption2' : 'angle',
'correctAnswer2' : 'side'
}
#Above dictionary contains 200 elements
diction = {
'detailedStatement' : detailedStatement
}
return render(request, "result.html", diction);
Так вот, находясь в html-файле, я хотел получить доступ к каждому элементу словаря через цикл. Например, каждый элемент должен быть перечислен в строке html-таблицы следующим образом.
| Sr | Selected Option | Correct Answer |
| 1 | 90 degrees | 180 degrees |
| 2 | angle | side |
Вышеприведенная таблица - это просто представление html-таблицы, а не настоящая таблица.
Но проблема, с которой я столкнулся... Я не могу получить доступ к его индексу динамическим способом.
Я написал цикл for в шаблоне Django html, но
{% for dr in detailedResult.items %}
<tr>
<td>{{forloop.counter}}</td>
<td>{{dr.option.forloop.counter}}</td>
<td>{{dr.answer.forloop.counter}}</td>
</tr>
{% endfor %}
Я хочу, чтобы мой код автоматически ставил 1 после опции и ответа, как option1
, answer1
,
Как мы можем это сделать?
Я думаю, что вам следует моделировать это с помощью списка, а не включать индекс в имена переменных, например,
# views.py
detailed_statements = [{'option': '90 degrees', 'answer': '180 degrees'}, ... ] # contains 200 elements
Затем в вашем шаблоне
{% for dr in detailed_statements %}
<tr>
<td>{{forloop.counter}}</td>
<td>{{dr.option}}</td>
<td>{{dr.answer}}</td>
</tr>
{% endfor %}
Меня немного смутили вложенные циклы for в коде вашего шаблона - я думаю, вам нужен только один?