Словарь Python в таблице html
Есть ли способ распечатать словарь python в таблице в HTML. У меня есть словарь python и отправляю в HTML с помощью
return render_template('index.html',result=result)
Теперь мне нужно напечатать элементы в словаре результатов в HTML в виде таблицы.
Ответы
Ответ 1
Flask использует Jinja в качестве шаблона шаблонов. Вы можете просто сделать следующее в своем шаблоне (html)
<table>
{% for key, value in result.iteritems() %}
<tr>
<th> {{ key }} </th>
<td> {{ value }} </td>
</tr>
{% endfor %}
</table>
Ответ 2
Мне посчастливилось поместить словарь в список списков, затем выполнить html-цикл по списку и распечатать таблицу. Питон будет:
Table = []
for key, value in results_dict.iteritems(): # or .items() in Python 3
temp = []
temp.extend([key,value]) #Note that this will change depending on the structure of your dictionary
Table.append(temp)
Затем в вашем HTML вы перебираете таблицу.
<table>
{% for t in table %}
<tr>
{% for i in t %}
<td>{{ i }}</td>
{% endfor %}
</tr>
{% endfor %}
</table>
Ответ 3
Отметьте Flask-Table.
Пример из документов (слегка отредактированный):
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
Ответ 4
Итерации через элементы словаря с помощью result.iteritems()
, а затем введите ключи/данные в строки таблицы html.
Ответ 5
tbl_fmt = '''
<table> {}
</table>'''
row_fmt = '''
<tr>
<td>{}</td>
<td>{}</td>
</tr>'''
def dict_to_html_table(in_dict):
return tbl_fmt.format(''.join([row_fmt.format(k,v) for k,v in in_dict.iteritems()]))
Ответ 6
Для python3 нет() после result.items
<table>
{% for key, value in result.items %}
<tr>
<th> {{ key }} </th>
<td> {{ value }} </td>
</tr>
{% endfor %}
</table>