2010-12-06 4 views
8

मैं अपने प्रदर्शन के दौरान प्रति पंक्ति तीन कॉलम प्रदर्शित करना चाहता हूं। मैं अपना परिणाम निम्न जैसा दिखाना चाहता हूं:Django/पायथन में प्रति पंक्ति तीन कॉलम के लिए कैसे करें?

<table> 
<tr><td>VALUE1</td><td>VALUE2</td><td>VALUE3</td></tr> 
<tr><td>VALUE4</td><<td>VALUE5</td><td>VALUE6</td></tr> 
</table> 

कोई भी जानता है कि यह कैसे करें?

विन्यास त्रुटि TemplateSyntaxError/

बयान 'वाई में एक्स के लिए' प्रारूप का उपयोग करना चाहिए 'के लिए' पर: के लिए मैं सीमा में (0, लेन (all_products_list), 3)

उत्तर

22

वहाँ एक divisibleby है टैग।

तो तुम जैसे कुछ (बदसूरत) कर सकते हैं:

<table><tr> 
{% for field in form %} 
    <td>{{ field }}</td> 
    {% if forloop.last %} 
    </tr> 
    {% else %} 
    {% if forloop.counter|divisibleby:"3" %} 
     </tr><tr> 
    {% endif %} 
    {% endif %} 
{% endfor %} 
</table> 

फिर, आप अपने प्रपत्र वर्ग एक table_print विधि है कि एक एचटीएमएल स्ट्रिंग (mark_safe में लिपटे) रिटर्न दे सकता है।

+0

उत्तर के लिए धन्यवाद, लेकिन यह एक टेम्पलेट टैग है, जो mysql –

-2
<table> 
{% for i in range(0, len(stuff), 3) %} 
    <tr> 
    {% for j in range(3) %} 
     <td>{{ stuff[i+j] }}</td> 
    {% endfor %}  
    </tr> 
{% endfor %} 
</table> 

क्षमा करें गलत प्रश्न।

+0

से पुनर्प्राप्त डेटा की एक सूची है, इस तरह के एक तेज उत्तर के लिए धन्यवाद लेकिन वाक्यविन्यास त्रुटि? यह विधि टेम्पलेट में काम नहीं किया? –

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