Словарь Python в таблице html - программирование

Словарь Python в таблице html

Есть ли способ распечатать словарь python в таблице в HTML. У меня есть словарь python и отправляю в HTML с помощью

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

Теперь мне нужно напечатать элементы в словаре результатов в HTML в виде таблицы.

4b9b3361

Ответ 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>