У меня есть домашнее задание, которое требует, чтобы мы создали таблицу журнала успеваемости, в которой будут сохранены те же значения, которые были введены до нажатия кнопки «Отправить», и у меня возникли проблемы с получением этих значений, но у меня есть баллы за ""назначения" в таблице, так что я знаю, что это можно сделать, но я просто новичок с шаблонами django, а что нет.
Я пытался сделать метод рендеринга несколько раз и перебрать этот список результатов, но, очевидно,рендеринг таблицы несколько раз связан с ее собственными проблемами, и сейчас я пытаюсь просмотреть списки студентов, заданий и оценок (вероятно, очень неэффективно) в шаблоне Django, но для получения ожидаемых результатов я быдолжны иметь 3 вложенных цикла и создавать ячейку таблицы, только если индекс внешних двух циклов соответствует определенным ограничениям внутреннего цикла (см. код ниже).
VIEWS.PY :
scores = list(models.Grade.objects.all().values_list('score', flat=True))
students = list(models.Student.objects.all().values_list('id', flat=True))
items = list(models.Item.objects.all().values_list('item_name', flat=True))
return render(request, 'main/index.html', {"row": students, "col": items, = "scores": scores})
INDEX.HTML:
{% for i in row %}
<tr><th>{{i}}</th>
{% for j in col %}
{% for k in scores %}
{% if forloop.counter == ((forloop.parentloop.counter + 1) * (forloop.parentloop.parentloop.counter + 1) - 1 %}
<td><input name="{{i}}_{{j}}" type="number" value="{{ k }}"/></td>
{% endif %}
{% endfor %}
{% endfor %}
</tr>
{% endfor %}
ThОжидаемые результаты приведут к тому, что таблица будет отображена с теми же значениями ячеек, которые были введены в последний раз, или с тем, что было в таблице оценок, но проблема в том, что в цикле if она выдает ошибку «ID или литерал ожидается», и этокажется, происходит от изменения значений **loop.counter
.