if forloop.counter|divisibleby:3 and not forloop.last
この部分は、forloop.counterが3で割り切れ、かつ最後のアイテムでない場合に新しい行を開始するための条件です。ここでの具体的な意味は次の通りです:
forloop.counter|divisibleby:3:forloop.counterが3で割り切れる場合にTrueを返します。not forloop.last:forloop.lastは現在のイテレーションが最後のものであればTrueを返します。notを使って、最後のアイテムでない場合にTrueになります。
したがって、この条件は「現在のアイテムが3で割り切れ、かつ最後のアイテムでない場合」にTrueになり、新しい行を開始します。

ディスカッション
コメント一覧
まだ、コメントがありません