मेरे पास सूचियों के साथ मूल्यों के साथ एक शब्दकोश है (आपको एक उदाहरण देने के लिए छोटा कर दिया गया है):

छवि फ़ाइलें:

for prop in context['results'][0]:
        imageFolderPath ='./media/uploaded/prop_images/' + prop.property_ID
        if os.path.isdir(imageFolderPath):
            imageFileList[prop.property_ID] = [f for f in listdir(imageFolderPath) if isfile(join(imageFolderPath, f))]
    

context['imageFiles'] = [imageFileList]

जब मैं इसे सीधे टेम्पलेट में प्रिंट करता हूं तो यह दिखाई देता है:

[{'R01': ['02secparking27.jpg', '10-2017-ff-detail-1200x627.jpg', '1200x820.jpg', '12539233_web1_180704-VMS-parking-lot.jpg', '16.12.01-519196006.jpg',], 
'R02': ['asdasd.jpg','12131asad.jpg','asdasdasd.jpg']}]

टेम्पलेट में, मैं छवि नामों को पुनरावृत्त करके एक्सेस करने का प्रयास कर रहा हूं लेकिन मुझे कोई मान नहीं मिल रहा है।

{% for keys,values in imageFiles %}
   {% for x in values %}
     <p>  {{X}}  </p>
   {% endfor %}
{% endfor %}

त्रुटि प्राप्त करना

"लूप के लिए अनपैक करने के लिए 2 मान चाहिए; 9 मिले।"

मैंने अन्य पोस्ट में सुझाए गए imageFiles.items को भी आजमाया और ऐसा लगता है कि यह काम नहीं कर रहा है।

मैं क्या गलत कर रहा हूं? मेरा दिमाग यहाँ तोड़ रहा है।

0
OneAdamTwelve 19 जिंदा 2021, 01:16

2 जवाब

सबसे बढ़िया उत्तर

तो, आप अंदर जा रहे हैं:

context['imageFiles'] = [imageFileList]

जो बिना किसी अच्छे कारण के काफी भ्रमित करने वाला है। जिसे आप imageFileList कह रहे हैं, वह एक सूची नहीं है, बल्कि एक शब्दकोश है। फिर, आप टेम्पलेट में जो पास करते हैं वह एक एकल तत्व के साथ एक सूची है, अर्थात् शब्दकोश।

फिक्स: डिक्शनरी में पास करें (यह और भी अच्छा होगा यदि आपने imageFileList का नाम बदलकर कुछ कम भ्रमित किया हो):

context['imageFiles'] = imageFileList

आपके टेम्पलेट में:

{% for key, value in imageFiles.items %} 
    {% for x in values %}
        <p>  {{x}}  </p>
    {% endfor %}
{% endfor %}
2
Paul M. 19 जिंदा 2021, 01:41

ग्रहण

dct = your input dictionary

कोड:

[value for keys, values in dct.items() for value in values]

आपको फ़ाइल नामों की नीचे दी गई सूची देगा:

['02secparking27.jpg',
 '10-2017-ff-detail-1200x627.jpg',
 '1200x820.jpg',
 '12539233_web1_180704-VMS-parking-lot.jpg',
 '16.12.01-519196006.jpg',
 'asdasd.jpg',
 '12131asad.jpg',
 'asdasdasd.jpg']
0
Dharman 19 जिंदा 2021, 01:39