Django टेम्प्लेट में छोरों के लिए नेस्टेड के साथ सबसे बाहरी forloop.counter का उपयोग कैसे करें?


118

यह Django में निम्नलिखित टेम्पलेट में पाश के लिए सबसे बाहरी के लिए forloop.counter का उपयोग करना संभव है:

{% for outerItem in outerItems %}
    {% for item in items%}
        <div>{{ forloop.counter }}.&nbsp;{{ item }}</div>
    {% endfor %}
{% endfor %}

forloop.counter उपरोक्त उदाहरण में लूप के काउंटर के लिए अंतरतम रिटर्न देता है

जवाबों:


230

आप forloop.parentloopबाहरी पाने के लिए उपयोग कर सकते हैं forloop, इसलिए आपके मामले में {{forloop.parentloop.counter}}


14

आप के साथ भी उपयोग कर सकते हैं

एक सरल नाम के तहत एक जटिल चर को कैश करता है। "महंगी" विधि (उदाहरण के लिए, जो डेटाबेस को हिट करता है) को कई बार एक्सेस करते समय यह उपयोगी है।

{% for outerItem in outerItems %}
  {% with forloop.counter as outer_counter %}
    {% for item in items%}
        <div>{{ outer_counter }}.&nbsp;{{ item }}</div>
    {% endfor %}
  {% endwith %}
{% endfor %}

यदि आप Django के उच्च संस्करण का उपयोग कर सकते हैं

{% with outer_counter = forloop.counter %}

मैंने जाँच की है, Django 1.4.x - Django 1.9.x दो विधियों का समर्थन करता है।

यह अधिक स्पष्ट है जब लूप के लिए कई हैं


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.