2011-04-26 205 views
1

非常困惑。我有一個變量,其中有32項,我試圖做一個for循環,但它說:「Caught IndexError,而渲染:字符串索引超出範圍」Django字符串索引超出範圍

任何想法?該變量絕對不是空的。

{% if photos %} 
    <ul class="photo-grid"> 
     {% for photo in photos %} 
       <li> 
         <img src="{{ photo.images.low_resolution.url }}" /> 
       </li> 
     {% endfor %} 
    </ul> 
{% else %} 
    No photos found. 
{% endif %} 
+1

錯誤可能會得到從別的地方觸發。尋找解決'photo.images.low_resolution.url'的代碼? – 2011-04-26 04:03:01

+1

是否確定它不是從你的views.py中發現你的錯誤?據我所知,默認情況下,模板中的變量錯誤會默默地失敗。 – goh 2011-04-26 04:03:23

+1

追蹤 - 某事物正在某物的索引,某處:D。編輯:哇,Python標籤的力量。 – 2011-04-26 04:03:26

回答

3

我認爲這個問題可能與photo.images的部分值有關。是images在照片對象中的數組或集合?如果它是一個數組,images.low_resolution正嘗試訪問數組中的索引值爲low_resolution的圖像,這可能不是您想要的(或者它可能是???)。您可能需要添加一些邏輯來循環訪問photo.images,而不是按照您現在的方式訪問它。

看到這個答案的其他信息:How to access array elements in a Django template?

+0

這幫了很大忙。多謝你們!!! – Brenden 2011-04-26 04:26:04

相關問題