es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Mostrando un diccionario anidado de Python en una tabla HTML.

Tengo un diccionario anidado en Python. Quiero mostrar esto en una tabla HTML. Estoy pasando el diccionario como una variable de contexto para acceder a él en HTML. Sin embargo, no puedo hacer que se muestre de la manera que quiero. La forma en que quiero mostrarlo es tener las claves como columnas y luego los valores como los datos para las filas.

He logrado llegar a la mitad del proceso:

Diccionario:

dict = {1: {‘name’: ‘John’, ‘age’: ’27’, ‘height’: ‘160’},
2: {‘name’: ‘Marie’, ‘age’: ’22’, ‘height’: ‘170’}}

HTML:

{% for key,value in dict_items.items %}

{% endfor %}

{{ key }} {{ value }}

resultado actual

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Resultado deseado

    nombre edad altura
    John 27 160
    Marie 22 170

    Para lograr el resultado deseado, debes iterar a través del diccionario y acceder a las claves y valores por separado. Esto se puede hacer utilizando el método items() del diccionario.

    Html actualizado:

    <table class="u-full-width" id="table2">
    <thead >
        <tr>
            <th scope="col">Nombre</th>
            <th scope="col">Edad</th>
            <th scope="col">Altura</th>
        </tr>
      </thead>
     <tbody>
        {% for key,value in dict_items.items %}
        <tr>
            <td style="text-align:center">{{ value.name }}</td>
            <td style="text-align:center">{{ value.age }}</td>
            <td style="text-align:center">{{ value.height }}</td>
        </tr>
        {% endfor %}
    </tbody>
    </table>
    

    Esto debería darte el resultado deseado:

    nombre edad altura
    John 27 160
    Marie 22 170

Comments are closed.