0

我想做的是:

创建一个

<div class="row-fluid center"> 

并且只从 list.dias.all 中放置最多 3 个元素,我很难思考这个代码。

    <div class="row-fluid center" id="{{list.dias.all.count}}">
    {% for dia in list.dias.all %}  
            <div class="span4" id="element" >
                <div>
                    <h6 style="color: #9937d8">{{dia.tipo_dias.description}}</h6>
                    <small style="color: #b2e300">{{ dia.title_yt }}</small>

                </div>  
                <div id="another div"></div>
            </div>
    {% endfor %}    
    </div>

是一种新手问题,但我不知道使用 Django、django-templates 或 jQuery 解决是否更好。

提前致谢

-- 已编辑

谢谢!但我想迭代,为每三个元素创建一个新行。我现在更接近回答了。

如果列表有 30 个元素,则为每 3 个元素创建一行。不是前3个。

4

2 回答 2

2

就这样做:

{% for dia in list.dias.all|slice:":3" %}  
于 2012-08-30T16:55:13.203 回答
0

'cycle' 模板标签也许可以做你想做的事。https://docs.djangoproject.com/en/dev/ref/templates/builtins/?from=olddocs#cycle

我不确定在您的示例中打开和关闭哪些 div,但想法是您使用循环标签在循环中每隔多次关闭和重新打开 div,除非它是最后一次迭代。

<div class="row-fluid center" id="{{list.dias.all.count}}">
{% for dia in list.dias.all %}  
    <div class="span4" id="element" >
        <div>
            <h6 style="color: #9937d8">{{dia.tipo_dias.description}}</h6>
            <small style="color: #b2e300">{{ dia.title_yt }}</small>
         </div>
    {% if forloop.revcounter > 1 %}{% cycle '' '' '</div><div>' %}{% endif %}
    </div>
{% endfor %}    
</div>
于 2012-08-30T19:39:57.200 回答