2012-11-26 21 views
6

मैं Django के टेम्पलेट प्रणाली का उपयोग कर रहा हूँ, और मैं निम्नलिखित समस्या आ रही है की शब्दकोश:Django टेम्पलेट और सूचियों

मैं एक वस्तु शब्दकोश गुजरती हैं, example_dictionary, टेम्पलेट के लिए:

example_dictionary = {key1 : [value11,value12]} 

और मैं निम्नलिखित करना चाहता हूं:

{% for key in example_dictionary %} 
// stuff here (1) 
{% for value in example_dictionary.key %} 
// more stuff here (2) 
{% endfor %} 
{% endfor %} 

हालांकि, यह लूप के लिए दूसरे स्थान पर नहीं है।

वास्तव में, अगर मैं (1), यह पता चलता सही कुंजी पर

{{ key }} 

डाल, तथापि,

{{ example_dictionary.key }} 

कुछ भी नहीं पता चलता है।

this answer में, किसी

{% for key, value in example_dictionary.items %} 

का उपयोग कर बहरहाल, यह इस मामले में काम नहीं करता है, क्योंकि मैं चाहता हूँ (1) विशेष कुंजी के बारे में जानकारी के लिए प्रस्ताव रखा।

मैं इसे कैसे प्राप्त करूं? क्या मैं कुछ भूल रहा हूँ?

उत्तर

9

मुझे लगता है कि आप एक नेस्टेड लूप की तलाश में हैं। बाहरी पाश में आप शब्दकोश कुंजी के साथ कुछ करते हैं और, नेस्टेड लूप में, आप अपने मामले में एक सूची, पुनरावर्तक शब्दकोश मान पर पुनरावृत्त करते हैं।

{% for key, value_list in example_dictionary.items %} 
    # stuff here (1) 
    {% for value in value_list %} 
    # more stuff here (2) 
    {% endfor %} 
{% endfor %} 

एक नमूना:

example_dictionary = {'a' : [1,2]} 
{% for key, value_list in example_dictionary.items %} 
    print key 
    {% for value in value_list %} 
    print value 
    {% endfor %} 
{% endfor %} 

परिणाम होगा:

'a' 
1 
2 

यदि यह नहीं है कि

इस मामले में, यह नियंत्रण प्रवाह कि आप की आवश्यकता है आप अपनी जरूरतों को पूरा करने के लिए नमूना का उपयोग कर रहे हैं।

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