Я бы хотел, чтобы вы сначала предложили изменить list
, а затем выполнить итерацию.
Изменить с помощью itertools.groupby: https://www.google.com/amp/s/www.geeksforgeeks.org/itertools-groupby-in-python/amp/
Ваш код должен выглядеть следующим образом:
final_result = defaultdict(list)
for d in result:
for k, v in d.items():
final_result[k].append(v)
{%for r in final_result%}
<div class="jumbotron p-3" style="margin-bottom: 5px;">
<div class="row">
<div class="col-lg-4">
<label class=" text-right">{{r['key']}}</label>
</div>
{%for value in r.values%}
<div class="col-lg-2">
<input type="text" class="form-control text-left" id="idInput{{ value }}"
value="{{ value }}">
</div>
{%endfor%}
</div>
</div>
{%endfor%}
Попробуйте это.
Исправьте, если он не работает.
Редактировать 1: Я думаю, что вы хотите сделать, может быть реализовано с использованием кода ниже
{%for r in result[0].keys()%}
{%for row in result%}
<div class="jumbotron p-3" style="margin-bottom: 5px;">
<div class="row">
<div class="col-lg-4">
<label class=" text-right">{{ r }}</label>
</div>
<div class="col-lg-2">
<input type="text" class="form-control text-left" id="idInput{{ keyCategory }}"
value="{{ row[r] }}">
</div>
</div>
</div>
{%endfor%}
{%endfor%}