Django - Unable to convert a list of dictionary to a table

I've a list of dictionary.

mylist = [{'id': 1, 'name': 'abc'}, {'id': 2, 'name': 'xyz'}]

i'm passing this mylist to an html page.

return render(request, "viewdb.html", {'mylist':mylist})

and in my viewdb.html, code is as given below.

{% if mylist %}
    <table>
        <tr>
            <th> ID </th>
            <th> Name </th>
        </tr>
    {% for user in mylist %}
        {% for key, value in user.items %}
                <tr>
                    <td> {{ value }}  </td>
                    <td> {{ value }}  </td>
                </tr>
    </table>
            {% endfor %}
    {% endfor %}
{% endif %} 
</body>```


I want the table to look like this.

ID  NAME
1   abc
2   xyz

please help.

You don't want to loop over your individual dict values, because you'll get them in more or less random order. You also don't want to create a new <tr> for each value in the dict. Just do:

{% for user in mylist %}
    <tr>
        <td>{{ user.id }}</td>
        <td>{{ user.name }}</td>
    </tr>
{% endfor %}
Вернуться на верх