Цикл for для заполнения таблицы шаблонов django
I'm trying to make a table in Django template. I'm sending a dict as my data inside my views.py like this:
data = {
"year_most_launches": result_launches,
"launch_sites":result_sites,
"launches_2019_2021":result_2019_2021
}
return render(request,"main/launches.html", {"data":data})
Моя таблица в HTML-коде:
<table class="table">
<thead>
<tr>
<th>Year with most launches</th>
<th>Launch site with most launches</th>
<th>Number of launches between 2019 and 2021</th>
</tr>
</thead>
<tbody>
{% for element in data.values %}
<tr>
<td>{{ element }}</td>
</tr>
{% endfor %}
</tbody>
</table>
Моя проблема заключается в том, что значения данных появляются только в первом столбце, создавая 3 строки вместо того, чтобы появляться только в первой строке.
Как я могу это решить? Это проблема внутри моего html?
Ваша HTML таблица создает новую строку (<tr>) для каждого элемента, то, что вы хотите, это создать новую ячейку, (<td>) для каждого элемента, как это:
<table class="table">
<thead>
<tr>
<th>Year with most launches</th>
<th>Launch site with most launches</th>
<th>Number of launches between 2019 and 2021</th>
</tr>
</thead>
<tbody>
<tr>
{% for element in data.values %}
<td>{{ element }}</td>
{% endfor %}
</tr>
</tbody>
</table>
Конечно, это даст только ОДИН ряд, что может быть то, что вы хотите, но если бы вы хотели получить несколько рядов, вам бы понадобилось два цикла, внешний для каждого <tr> и внутренний для каждого <td>.
