Словарь как таблица в шаблоне Django

У меня есть словарь:

field = { u'Birthday:': [datetime.date(2012, 4, 6), datetime.date(2012, 4, 27)], u'Education': [u'A1', u'A2'], u'Job:': [u'job1', u'job2'], u'Child Sex:': [u'M', u'F'] } 

Мой код шаблона:

 <table width="100%" border="0"> <tr> {% for k, v in field.items %} <th>{{ k }}</th> {% endfor %} </tr> <tr> {% for k,v in field.items %} <td> <table width="100%" border="0"> {% for a in v %} <tr class="{% cycle 'odd' 'even' %}"><td>{{ a }}</td></tr> {% endfor %} </table> </td> {% endfor %} </tr> </table> 

Я хочу показать словарные ключи как заголовки таблиц и значение esach как строку:

 Birthday Education Job Child Sex datetime.date(2012, 4, 6) A1 job1 M datetime.date(2012, 4, 27) A2 job2 F 

Но мне нужно вставить вторую таблицу. Есть ли способ показать словарные ключи как заголовки таблиц и значение esach как строки?

заранее спасибо

One Solution collect form web for “Словарь как таблица в шаблоне Django”

Вы можете сделать код шаблона намного легче читать, если вы предоставите данные в виде таблицы в словаре. Это выглядело бы так:

 field = { 'headers': [u'Birthday:', u'Education', u'Job', u'Child Sex'], 'rows': [[datetime.date(2012, 4, 6), u'A1', u'job1', u'M'] ,[datetime.date(2012, 4, 27), u'A2', u'job2', u'F']] } 

Теперь вы можете перебирать заголовки следующим образом:

 <tr> {% for header in field.headers %} <th>{{ header }}</th> {% endfor %} </tr> 

И каждая строка может отображаться с использованием:

 <tr> {% for value in field.rows %} <td>{{ value }}</td> {% endfor %} </tr> 

Теперь вы можете получить значение 'headers' с помощью field.keys() :

 [u'Birthday:', u'Education', u'Job:', u'Child Sex:'] 

Вы можете получить 'values' используя следующий цикл (где 2 – количество строк):

 rows = [] for i in xrange(2): row = [] for k in field.keys(): row.append(field[k][i]) rows.append(row) 

Или как однострочный:

 rows = [[field[k][i] for k in field.keys()] for i in xrange(2)] 
Interesting Posts

Как я могу декодировать SSL-сертификат с помощью python?

Python metaclasses: Почему не __setattr__ вызывается для атрибутов, установленных во время определения класса?

Установить цвет для xticklabels отдельно в matplotlib

Python добавляет новый элемент в словарь

Scrapy и прокси

Возьмите пересечение произвольного количества списков в python

Каков самый быстрый способ слияния двух списков в python?

dict.get () – аргумент по умолчанию оценивается даже после успеха

Как использовать библиотеку FastFM Python (машины факторизации) для задач рекомендации?

Сервер разработки приложений не обновляет код при изменении

Python на моем Mac – это беспорядок, помогите мне удалить то, что мне не нужно

Python: Рождественская елка

Возьмите пользовательский ввод и поместите его в файл в Python?

Как передать событие в родительский виджет

Лучший способ импортировать модули python для конкретных версий

Python - лучший язык программирования в мире.