Доступ к индексу в шаблоне 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 в коде вашего шаблона - я думаю, вам нужен только один?

Вернуться на верх