Django टेंपलेटिंग: किसी सूची में पहले आइटम के गुणों का उपयोग कैसे करें


88

बहुत साधारण। मेरे पास एक पायथन सूची है जिसे मैं एक Django टेम्पलेट से गुजर रहा हूं।

मैं विशेष रूप से इस सूची के पहले आइटम का उपयोग करके उपयोग कर सकता हूं

{{ thelist|first }}

हालांकि, मैं उस आइटम की एक संपत्ति तक भी पहुंच बनाना चाहता हूं ... आदर्श रूप से आप सोचेंगे कि यह इस तरह दिखाई देगा:

{{ thelist|first.propertyName }}

लेकिन अफसोस, ऐसा नहीं है।

क्या इसका कोई टेंपरेचर सॉल्यूशन है, या मैं सिर्फ खुद को एक्स्ट्रा टेंपरेचर वैरिएबल पा रहा हूं ...

जवाबों:


182

आप किसी सूची में किसी भी आइटम को उसके अनुक्रमणिका संख्या के माध्यम से एक्सेस कर सकते हैं। किसी टेम्प्लेट में यह किसी भी अन्य प्रॉपर्टी लुकअप की तरह ही काम करता है:

{{ thelist.0.propertyName }}

हम्म। हालाँकि यह इनलाइन_एडमिन_फॉर्मसेट के साथ काम नहीं करता है। मुझे लगता है कि itter काम नहीं करता है कि मैं यह कैसे की उम्मीद है।
Shayne

हाय डैनियल, क्या आप टेम्प्लेट / व्यू स्टैकओवरफ्लो . com/questions/34791375/… से संबंधित मेरे प्रश्न की जांच कर सकते हैं ?
सतीश

यह forत्रुटि संदेशों में से प्रत्येक के माध्यम से जाने के लिए लूप से बहुत बेहतर है । धन्यवाद!
IIllIIll

1
और thelist.-1.propertyNameअंतिम मद के लिए?
असकिर

1
नहीं, यह दुर्भाग्य से काम नहीं करेगा, Django कि पार्स नहीं कर सकता। आपको withटैग के साथ उपयोग करने की आवश्यकता होगी |last, जैसा कि मार्क अन्य उत्तर में बताता है।
डैनियल रोसमैन

33

आप संपत्ति तक पहुंचने के लिए टेम्प्लेट फ़िल्टर के withसाथ टेम्प्लेट टैग को जोड़ सकते firstहैं।

{% with thelist|first as first_object %}
    {{ first_object.propertyname }}
{% endwith %}

1
एक शब्दकोश के लिए, पहले कुंजी / मूल्य जोड़ी के लिए एक टपल लौटाता है, यह थोड़ा बदसूरत है लेकिन मैंने सिर्फ मूल्यों को प्राप्त करने के लिए बयान के साथ एक और जोड़ा। {% Thelist साथ | पहले first_object% के रूप में} {% वस्तु% के रूप में first_object.1 साथ} {{वस्तु}} {% endwith%} {% endwith%}
मैथ्यु पुर्डन

21

यदि आप एक बहुत सारे फ़ील्ड का उपयोग करने की कोशिश कर रहे हैं all, तो जोड़ना याद रखें , इसलिए यह ऐसा दिखेगाobject.m2m_field.all.0.item_property


1
आपको "सभी" का उल्लेख करते हुए आप +10 दे सकते हैं, आपने मेरा दिन बचाया;)
शावक

0

django टेम्पलेट को प्रदान की गई वस्तु सूची में कईTTMManyField संपत्ति तक पहुँचने के लिए एक संभावित स्पष्ट उत्तर / वाक्यविन्यास इस तरह दिखेगा:

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