2017-06-04 110 views
0

我有一個由Django生成的日曆,並使用Bootstrap進行了樣式化。 這裏是Django模板代碼:每四次迭代修改Django循環

<div class="content"> 
    {% for month in period.get_months %} 
    <div class="col-md-3"> 
     <div class="row row-centered"> 
     <button class="btn btn-custom active" href="{% url "month_calendar" calendar.slug %}{% querystring_for_date month.start 2 %}">{{month.name}}</button> 
     </div> 
     <div> 
     {% month_table calendar month "small" %} 
     </div> 
    </div> 
    {% endfor %} 
</div> 

現在,由於月份有不同的數週,他們具有不同的高度,我想避免這樣的: enter image description here

我從this answer理解最好的解決方案是使用clearfix

那麼,我該如何修改我的模板中的for循環,以便Django每四個項目插入一個額外的行<div class="clearfix"></div>

+1

你見過['divisibleby'(https://docs.djangoproject.com/en/1.10/ref/templates/builtins/#divisibleby)過濾? –

回答

2

Django模板循環存儲當前索引forloop.counter變量。你可以在docs閱讀。所以,你可以嘗試改變這樣你的代碼:

<div class="content"> 
    {% for month in period.get_months %} 
    <div class="col-md-3"> 
     <div class="row row-centered"> 
     <button class="btn btn-custom active" href="{% url "month_calendar" calendar.slug %}{% querystring_for_date month.start 2 %}">{{month.name}}</button> 
     </div> 
     <div> 
     {% month_table calendar month "small" %} 
     </div> 
    </div> 
    {% if forloop.counter|divisibleby:4 %} 
     <div class="clearfix"></div> 
    {% endif %} 
    {% endfor %} 
</div> 
+0

HI。我完全不熟悉Django的%符號。我嘗試了你的代碼,這是有道理的,但我得到一個錯誤'無法解析剩餘:%''%'' – user2314737

+0

嗨,我修復了我的答案,現在嘗試 –

+0

現在我收到錯誤消息''endfor ',預計'elif','else'或'endif'。你忘了註冊或加載這個標籤嗎?' – user2314737