У меня есть dict, определенный следующим образом:
table_data = [{'aircraft': <Aircraft: P28A I-ASTV>, 'row_data': [{'colspan': 2, 'booking_obj': <Booking: I-ASTV 2022-03-11 08:00:00 09:00:00>}, {'colspan': 4, 'booking_obj': <Booking: I-ASTV 2022-03-11 09:00:00 11:00:00>},...}]}]
Я печатаю в своем шаблоне примерно так:
{% for row in table_data %}
<tr>
<th class = "bg-primary border border-info">{{row.aircraft.registration}}</th> #This is working correctly
{% for c, b in row.row_data %}
<td colspan = "">{{b}}</td> #This line just prints booking_obj
{% endfor %}
</tr>
{% endfor %}
но то, чего я пытаюсь достичь, это отобразить фактическое значение ключа (например, дату бронирования), вместо этого в моем шаблоне я просто вижу либо colspan, либо booking_obj.
Я уже пробовал что-то вроде:
{% for c, b in row.row_data.items %}
<td colspan = "">{{b}}</td> #This line just prints booking_obj
{% endfor %}
но это не сработало. Есть ли способ правильно получить доступ к значению dict?
row_data
— это список словарей, поэтому вы можете получить к нему доступ с помощью:
{% for data in row.row_data %}
<td colspan = "{{ data.colspan }}">{{ data.booking_obj }}</td>
{% endfor %}
Таким образом, здесь data
является словарем, и мы получаем доступ к соответствующим значениям с помощью data.colspan
и data.booking_obj
.