В шаблонной системе Django, как мне заставить ее иногда делать разные вещи? - PullRequest
0 голосов
/ 01 декабря 2010
{% for p in posts %}
    <div style="width:50px;">
    blah
    </div>
{% endfor %}

Однако, что если я хочу, чтобы div составлял 100px 75% времени?25% времени?Рандомизированное.

Ответы [ 3 ]

2 голосов
/ 01 декабря 2010

Логика не входит в шаблоны.

Решение: напишите новый тег шаблона, который возвращает случайное число, и используйте его для ширины.

http://docs.djangoproject.com/en/1.2/howto/custom-template-tags/

Ваш шаблон будет выглядеть так:

{% for p in posts %}
    <div style="width:{% myrandomtag 0 100 %}px;">
    blah
    </div>
{% endfor %}

Или как угодно.Поместите нужную логику в код Python для тега.

2 голосов
/ 01 декабря 2010

random фильтр должен делать то же самое

0 голосов
/ 01 декабря 2010

Вы можете использовать метод Джанго цикл :

{% for o in some_list %}
<tr class="{% cycle 'row1' 'row2' %}">
    ...
</tr>
{% endfor %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...