2010-10-11 10 views
55

तरीके वस्तुओं को सीमित करने से एक एक टेम्पलेट के अंदर इसकैसे आप सूची को सीमित करते वस्तुओं टेम्पलेट पक्ष, बल्कि दृश्य पक्ष की तुलना में

def ten_objects(): 
    obj = Model.objects.all()[0:10] # limit to 10 
    return {'objects': obj} 

हालांकि तरह एक समारोह के लिए एक सीमा जोड़ने के लिए नहीं बल्कि कैसे आप इस लक्ष्य को हासिल करना है एक दृश्य के अंदर से?

मुझे पता है कि आप एक टेम्पलेट के भीतर वस्तुओं के माध्यम से फ़िल्टर कर सकते हैं और पात्रों को सीमित कर सकते हैं लेकिन आप वास्तव में लूप में प्रदर्शित वस्तुओं की मात्रा को कैसे सीमित करते हैं। टेम्पलेट के माध्यम से। उदाहरण के लिए निम्नलिखित कोड सभी वस्तुओं के माध्यम से लूप ....

<ul> 
    {% for new in news %} 
     <li> 
     <p>{{ news.title }}</p> 
     <p>{{ news.body }}</p> 
     </li> 
    {% endfor %} 
    </ul> 

मैं पाश कैसे तोड़ करते हैं, एफआईआर के बाद 3 वस्तुओं/मदों कहेंगे। और मैं इसे टेम्पलेट के अंदर कैसे कर सकता हूं। अग्रिम में धन्यवाद।

+1

'slice'

उत्तर

127

एक slice फ़िल्टर है जिसे आप टेम्पलेट्स में उपयोग कर सकते हैं। यह दृश्य के भीतर स्लाइसिंग के समान ही काम करता है।

{% for new in news|slice:":10" %} 
10

आप slice टेम्पलेट फिल्टर

यहाँ का उपयोग करना चाहते अपने उदाहरण के लिए इसका इस्तेमाल करने के लिए परिवर्तित किया गया:

<ul> 
{% for new in news|slice:":3" %} 
<li> 
<p>{{ new.title }}</p> 
<p>{{ new.body }}</p> 
</li> 
{% endfor %} 
</ul> 
+1

मैं जानता हूँ कि मैं एक तरह से सता कर रहा हूँ, लेकिन यह होना चाहिए: '{{new.title}}' और '{{new.body}}' – Hussam

+0

स्वीकार्य उत्तर से यह एक और पूर्ण कोड उदाहरण है, यह एक और अधिक उपयोगी उत्तर है, इसलिए मैंने ऊपर उठाया और समझाया क्यों – Keith

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