Подготовить данные во вьюхе чтобы с ними было удобно работать в темплейте, я вот не понимаю зачем и список, и словарь когда можно сделать вложенный список типо такого:
table = [
['header1', 'header2', 'header3', 'header4'],
['value1.1', 'value2.1', 'value3.1', 'value4.1'],
['value1.2', 'value2.2', 'value3.2', 'value4.2']
]
C моделью даже подготавливать почти ничего не нужно:
table = [('header1', 'header2', 'header3', 'header4')]
table += Model.objects.all().values_list('value1', 'value2', 'value3', 'value4')
context['table'] = table
А потом в темплейте:
<table>
{% for v1, v2, v3, v4 in table %}
{% if forloop.first %}
<tr>
<th>{{ v1 }}</th>
<th>{{ v2 }}</th>
<th>{{ v3 }}</th>
<th>{{ v4 }}</th>
</tr>
{% else %}
<tr>
<td>{{ v1 }}</td>
<td>{{ v2 }}</td>
<td>{{ v3 }}</td>
<td>{{ v4 }}</td>
</tr>
{% endif %}
{% endfor %}
</table>