开发者

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

开发者 https://www.devze.com 2023-01-28 07:13 出处:网络
{% 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
{% 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

精彩评论

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