我有一个由Django生成的日历,并使用Bootstrap进行样式设置。 这是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>
现在,由于几个月有不同的周数,他们有不同的高度,我想避免这样的事情:
我从this answer了解到,最好的解决方案是使用clearfix
。
那么,我如何修改模板中的for循环,以便Django每四个项目插入一个额外的行<div class="clearfix"></div>
?
答案 0 :(得分: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>