Форум сайта python.su
Доброго времени суток,
ни как не могу разобраться (или мне таки хочется странного?) как написать шаблон для вывода 2-у и 3-х мерных таблиц.
для одномерной все понятно
<table>
{% for common in commons %}
<tr>
<td>{{ common }}</td>
</tr>
{% endfor %}
</table>
<table>
{% for name, value in commons %}
<tr><td>name</td><td>value</td></tr>
{% endfor %}
</table>
>>> commons = { 'one': 1, 'two': 2, 'three': 3 }
>>> for common in commons:
... print "%s | %s" % (common, commons[common])
...
three | 3
two | 2
one | 1
Офлайн
простите, туплю
{% for name, value in commons.items %}
Офлайн
lorien
Как много слов, ничего не понятно.
Есть два списка и
Что вам нужно получить?
<table>
<tr><td>1</td><td>4</td></tr>
<tr><td>2</td><td>5</td></tr>
<tr><td>3</td><td>6</td></tr>
</table>
Офлайн
@register.filter
def col2(obj, iter):
try:
if iter == 0:
return False
else:
if len(obj) % 2 == 0:
total = len(obj)/2
else:
total = len(obj)/2 + 1
return iter % total == 0
except:
return False
Офлайн
regallА зачем? Ведь можно шаблоном:@register.filter
def col2(obj, iter):
try:
if iter == 0:
return False
else:
if len(obj) % 2 == 0:
total = len(obj)/2
else:
total = len(obj)/2 + 1
return iter % total == 0
except:
return False
<table>
{% for name, value in commons.items %}
<tr>
<td>{{ name }}</td><td>{{ value }}</td>
</tr>
{% endfor %}
</table>
commons = { 'one': 1, 'two': 2, 'three': 3 }
Офлайн
exВ моем случае легко модифицировать для n колонок если потребуется, то есть делить не на 2, а на n.
А зачем? Ведь можно шаблоном:
Офлайн
lorienэто чудесно, благодарю :)
ex, вам нужно использовать функцию zip для подготовки данных во view>>> a = [1, 2, 3]
>>> b = [4, 5, 6]
>>> zip(a, b)
[(1, 4), (2, 5), (3, 6)]
Офлайн