Печать диктанта в шаблоне Django
У меня есть диктант, определенный следующим образом:
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.