Saya mencari cara untuk menggunakan sesuatu seperti operator modulus di django. Apa yang saya coba lakukan adalah menambahkan nama kelas ke setiap elemen keempat dalam satu lingkaran.
Dengan modulus akan terlihat seperti ini:
{% for p in posts %}
<div class="post width1 height2 column {% if forloop.counter0 % 4 == 0 %}first{% endif %}}">
<div class="preview">
</div>
<div class="overlay">
</div>
<h2>p.title</h2>
</div>
{% endfor %}
Tentu saja ini tidak berhasil karena% adalah karakter yang sudah dipesan. Apakah ada cara lain untuk melakukan hal ini?.
templatetag
tag, tapi itu mencakup{%
,%}
, dll (tidak%
).Jawaban:
Anda perlu membagi , filter django built-in.
sumber
Anda tidak dapat menggunakan operator modulus dalam tag cetakan Django, tetapi akan cukup mudah untuk menulis filter untuk melakukannya. Sesuatu seperti ini seharusnya bekerja:
Lalu:
Anda bahkan dapat melakukan hal seperti ini, sebagai gantinya:
Lalu:
Atau Anda bisa menggunakan
cycle
tag:sumber
Sepertinya Anda sebaiknya menggunakan tag siklus. Tag template bawaan
sumber
Contoh baris dan kolom bootstrap. Baris baru setiap 4 item. Juga tutup baris terakhir meskipun ada kurang dari 4 item.
myapp / templatetags / my_tags.py
html
sumber