循环与计数器

时间:2014-12-19 05:54:58

标签: python html pug pyjade

我试图用玉器做我古老的画廊循环计数器(我是一个新手)。我使用twitter bootstrap所以我需要将图像放入div中,其中col-md-3作为一个类,并作为div的子项与行"。所以,理想情况下它看起来像这样:

<div class="row">
    <div class="col-md-3">image goes here</div>
    <div class="col-md-3">image goes here</div>
    <div class="col-md-3">image goes here</div>
    <div class="col-md-3">image goes here</div>
</div>
<div class="row">
    <div class="col-md-3">image goes here</div>
    <div class="col-md-3">image goes here</div>
    <div class="col-md-3">image goes here</div>
    <div class="col-md-3">image goes here</div>
</div>

我遇到的问题是如何初始化一个新行,因为缩进在玉中很重要。以下是我的开始,我该如何进行?

div.row
    each product, index in collection.products
        div.col-md-3: img

我认为你会使用类似的东西:

if index % 3
    div.row

......但它感觉不对......

1 个答案:

答案 0 :(得分:0)

解决了它朝着不同的方向发展。我在views.py文件的顶部创建了一个context_processor,并将其作为函数提供给我的模板。

views.py

@app.context_processor
def utility_processor():
    def subdivide_list(list_to_group, group_size):
        return [list_to_group[i:i+group_size] for i  in range(0, len(list_to_group), group_size)]
return dict(subdivide_list=subdivide_list)

gallery.jade

div.col-md-9
    for product_row in subdivide_list(all_products, 4)
        div.row
            for product in product_row
                img(src="{{ url_for('static', filename='uploads/images/products/'+product.image.name_thumb) }}")