Словарь как таблица в шаблоне 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 как строки?

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

  • Django, создавая пользовательскую страницу ошибок 500/404
  • Получение списка ошибок в форме Django
  • как проверить DEBUG true / false в шаблоне django - точно в layout.html
  • Шаблоны Django: отображение даты, только если она в будущем
  • Как увидеть исключение, сгенерированное в переменной шаблона django?
  • Пользовательские шаблоны admin django не работают
  • django: можно ли выполнить loader.get_template ('my_template.txt')?
  • Настройка Django для вывода тега шаблона по умолчанию, когда переменная равна None?
  • 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

    Python – как округлить до двух десятичных знаков

    Как группировать / подсчитывать элементы списка по диапазону

    Алгоритм анализа Python XML

    Python: найти индекс минимального элемента в списке поплавков

    Перемещение электронной почты в GMail с помощью Python и imaplib

    Есть ли какой-либо прямой способ генерации PDF из файла уценки с помощью python

    Удаление элементов списка на основе условия

    Установка SciPy и NumPy с помощью pip

    Инициализация клиента Oauth в python для tumblr API с использованием Python-oauth2

    Выделение конечных пробелов в Textmate для Python?

    Написание красиво отформатированного текста в Python

    Каков самый быстрый способ преобразования чередующегося целочисленного массива NumPy в complex64?

    'ascii' кодек не может декодировать байт (проблема при использовании django)

    Spyne – как дублировать один элемент wsdl-файла, созданного spyne?

    Может ли запись в UDP-сокет когда-либо блокироваться?

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