Diccionario de Python en la tabla html

¿Hay alguna forma de imprimir el diccionario de python en una tabla en HTML? Tengo un diccionario de python y lo estoy enviando a HTML usando

return render_template('index.html',result=result) 

Ahora necesito imprimir los elementos en el diccionario de resultados en HTML como una tabla.

Flask usa Jinja como el marco de plantillas. Puedes hacer lo siguiente en tu plantilla (html)

  {% for key, value in result.iteritems() %}  {% endfor %} 
{{ key }} {{ value }}

He tenido mejor suerte al poner el diccionario en una lista de listas, luego hacer que el html recorra la lista e imprima la tabla. El python sería:

 Table = [] for key, value in results_dict.iteritems(): temp = [] temp.extend([key,value]) #Note that this will change depending on the structure of your dictionary Table.append(temp) 

Luego en tu html recorres la tabla.

  {% for t in table %}  {% for i in t %}  {% endfor %}  {% endfor %} 
{{ i }}

Compruebe la mesa de matraz .

Ejemplo de la documentación (ligeramente editado):

 from flask_table import Table, Col # Declare your table class ItemTable(Table): name = Col('Name') description = Col('Description') items = [dict(name='Name1', description='Description1'), dict(name='Name2', description='Description2'), dict(name='Name3', description='Description3')] # Populate the table table = ItemTable(items) # Print the html print(table.__html__()) # or just {{ table }} from within a Jinja template 

Iterar a través de los elementos del diccionario usando result.iteritems() y luego escribir las claves / datos en filas de una tabla html.

 tbl_fmt = '''  {} 
''' row_fmt = ''' {} {} ''' def dict_to_html_table(in_dict): return tbl_fmt.format(''.join([row_fmt.format(k,v) for k,v in in_dict.iteritems()]))

Para python3, no () después de result.items

  {% for key, value in result.items %}  {% endfor %} 
{{ key }} {{ value }}