2009-12-22 13 views
15

मेरे पास एक उत्पाद सूची है जो पंक्ति पर 3 उत्पादों को रखती है और पंक्ति को साफ़ करती है और एक और 3 जोड़ती है, यह हर जगह ठीक काम करती है लेकिन आईई 6, मुझे पता है कि 312 उत्पादों के प्रत्येक समूह के आसपास <div> जोड़ना का समाधान होगा इस पलपायथन प्रत्येक तीसरे पुनरावृत्ति को

{% for product in category.products.all %} 
     <div class="{% cycle 'clear' '' '' %}"> 
      <a href="{% url shop.views.product category.slug product.slug %}"><img src="{{MEDIA_URL}}{{product.mini_thumbnail}}" alt="{{product.name}}" class="thumbnail"/></a> 
      <div class="prod-details"> 
      <h3><a href="{% url shop.views.product category.slug product.slug %}">{{product.get_product_name}}</a></h3> 
      <h4 class="strap">{{product.get_product_detail}}</h4> 
      <p>{{ product.strap }}</p> 
      <ul> 
       <li class="price">&pound;{{product.price}}</li> 
       <li class="quantity"> 
        <select name="quantity_{{product.id}}"> 
         <option label="1" value="1">1</option> 
         <option label="2" value="2">2</option> 
         <option label="3" value="3">3</option> 
         <option label="4" value="4">4</option> 
         <option label="5" value="5">5</option> 
         <option label="6" value="6">6</option> 
         <option label="7" value="7">7</option> 
         <option label="8" value="8">8</option> 
         <option label="9" value="9">9</option> 
        </select> 
       </li> 
       <li><a href="{% url shop.views.product category.slug product.slug %}">Details &gt;</a></li> 
       <li class="right"><input type="submit" name="add_to_basket_{{product.id}}" value="Add to Basket &gt;"/></li> 
      </ul> 
      </div> 
     </div> 
    {% endfor %} 

उत्तर

37

कोडेप का समाधान केवल तभी काम करता है जब आप Django ट्रंक के हालिया एसवीएन चेकआउट का उपयोग कर रहे हों। यदि आप संस्करण 1.1 या नीचे का उपयोग कर रहे हैं, तो वह वाक्यविन्यास समर्थित नहीं है।

इसके बजाय, आप divisibleby फिल्टर का उपयोग कर सकते हैं:

{% if forloop.counter|divisibleby:3 %}<div>{% endif %} 
8

उपयोग forloop.counter पर टेम्पलेट फ़ाइल और पाश के अंदर एक सापेक्ष ऑपरेटर है:

{% for ... %} 
{% if forloop.counter|divisibleby:3 %}<div>{% endif %} 
... 
{% if forloop.counter|divisibleby:3 %}</div>{% endif %} 
{% endfor %} 

देखें http://docs.djangoproject.com/en/dev/ref/templates/builtins/#for

संपादित करें:

कोड उदाहरण को ठीक किया गया।

+0

मैं यह कर की कोशिश की मैं एक टेम्पलेट त्रुटि मिलती है 'अगर' बयान का प्रारूप सही – Udders

+0

क्षमा करें, मैं भूल गया था Django-templating बयान किसी भी स्वीकार नहीं करता है, तो यह है कि पायथन अभिव्यक्ति। – codeape

संबंधित मुद्दे