SORU
19 Ocak 2009, PAZARTESİ


Alternatif Satır Django, Renklendirme ve Satır Birden Fazla dizi ile Şablonu

Django şablonları teklif yerleşik etiketi cycle Alternatif arasında çeşitli değerlerde farklı noktalarında bir şablon (ya da döngü için bir şablon) ama bu etiket değil reset ne zaman erişilen bir kapsam dışına çıkın cycles tanımı. I. e., eğer iki veya daha fazla listeleri, şablon, tüm satırları hangisini isterseniz kullanın bazı css tanımları odd even, ilk satır listesini kazanacak son bıraktığı, ile taze bir yineleme seçenekler (odd even)

E. g., aşağıdaki kodda, Eğer ilk blog var bir tek sayı olan girişler, ilk giriş için ikinci bir blog olacak başlangıç olarak even, ne zaman istiyorum bunu için Başlat odd.

{% for blog in blogs %}
  {% for entry in blog.entries %}
    <div class="{% cycle 'odd' 'even' %}" id="{{entry.id}}">
      {{entry.text}}
    </div>
  {% endfor %}
{% endfor %}

resetcycle etiketi burada sunulan yama ile bu obviating denedim:

Django ticket: Cycle tag should reset after it steps out of scope

boşuna. (Kod işime yaramadı.)

Ayrıca, özel bir etiket içine iç döngüm hareket denedim, ama bu da/derleme render döngü geri döngü dıştaki döngünün içine taşır, çünkü, belki de işe yaramadı? (Neden ne olursa olsun, benim için işe yaramadı.)

Nasıl bu basit işi başarabilir miyim? Bu bilgileri önceden derlenmiş olan benim görüşüme göre bir veri yapısı oluşturmak için değil tercih ederim; bu gereksiz görünüyor. Şimdiden teşekkürler.

CEVAP
20 Ocak 2009, Salı


En kolay çözüm resetcycle yama tamir ve uygulanan alana kadar ()-yerleşik "" forloop.filtre divisibleby kullanmaktır sayaç:

{% for entry in blog.entries %}
  <div class="{% if forloop.counter|divisibleby:2 %}even{% else %}odd{% endif %}" id="{{ entry.id }}">
    {{ entry.text }}
  </div>
{% endfor %}

Anlamak için biraz daha ayrıntılı, ama sabit değil ve o inşaat büyük.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • finalcall07

    finalcall07

    11 NİSAN 2008
  • manadude21

    manadude21

    11 Mart 2008
  • psidot

    psidot

    2 Kasım 2006