开发者

In Django's template system, how do I make it to do different things sometimes?

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

However, what if I want the div to be 100px 75% of the time? 25% of the time? Randomized.开发者_如何学运维


Logic does not go into templates.

Solution: write a new template tag that returns a random number, and use that for the width.

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

Your template would then look like:

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

Or whatever. Put your required logic in the python code for the tag.


random filter should do the thing


You can use Django's cycle method:

{% for o in some_list %}
<tr class="{% cycle 'row1' 'row2' %}">
    ...
</tr>
{% endfor %}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜