Python Django字符串索引超出范围
非常困惑。我有一个变量,其中有32个项,我尝试执行for循环,但它说“呈现时捕获索引器:字符串索引超出范围” 有什么想法吗?变量肯定不是空的Python Django字符串索引超出范围,python,django,templates,Python,Django,Templates,非常困惑。我有一个变量,其中有32个项,我尝试执行for循环,但它说“呈现时捕获索引器:字符串索引超出范围” 有什么想法吗?变量肯定不是空的 {% if photos %} <ul class="photo-grid"> {% for photo in photos %} <li> <img src="{{ photo.images.low_resolution.
{% 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 %}
{%if照片%}
{%用于照片中的照片%}
-
{%endfor%}
{%else%}
没有找到照片。
{%endif%}
我认为问题可能出在photo.images
部分值上。images
是照片对象中的数组还是集合?如果它是一个数组,images.low_resolution
试图访问数组中索引值为low_resolution
的图像,这可能不是您想要的(或者可能是??)。您可能需要添加一些逻辑来循环查看photo.images
,而不是像现在这样尝试访问它
有关其他信息,请参阅此答案:此错误可能是从其他地方触发的。查看解析为
photo.images.low_resolution.url
的代码?您确定不是从views.py中产生错误的吗?据我所知,默认情况下,模板中的变量错误将无法完全回溯-某物正在某处对某物进行索引:D.编辑:哇,Python标记的强大功能。看起来实际上您的photo
dict/对象中有一个没有您试图访问的键。我猜是缺少photo.images
或photo.images.low_分辨率
或photo.images.low_分辨率.url
。