2017-06-04 54 views
0

私はDjangoによって生成され、ブートストラップでスタイルされたカレンダーを持っています。Django forループを4回繰り返すごとに修正します

<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から理解 ここでDjangoテンプレートのコードがあります最高の解決策はclearfixを使用することです。

Djangoが余分な行を挿入するように、テンプレート内のforループを変更するにはどうすればよいですか?<div class="clearfix"></div> 4つのアイテムごとに?

+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

今、 '、' elif '、' else '、' endif 'のいずれかです。このタグを登録またはロードするのを忘れましたか? – user2314737

関連する問題