Django标记错误。无效的块标记:'endfor'

时间:2010-10-21 17:48:07

标签: django

有什么问题?它告诉我无效的块标记:'endfor'。

{%else%}

<ol id="sortable" name="plst{{first_list.pk}}">
{% for item in playlist %}
<li id="item{{item.pk}}" media="{{item.media.pk}}" class="holderPlace"  title="{{item.media.name}}"><span> {{item.media.name|custom_slice:30}} </span>

             {%ifequal item.media.watch_status 0 %}
                <img src="{{MEDIA_URL}}images/content_started_watch_12x12.gif" title="ddd" alt="" height="12" width="12" style="position:relative;top:2px;"/>
            {%else%}
                {%ifequal item.media.watch_status 1 %}
                <img src="{{MEDIA_URL}}images/content_watched_12x12.gif" title="Вы уже смотрели эту передачу" alt="" height="12" width="12" style="position:relative;top:2px;"/>
            {%endifequal%}


<div class="buttons">  <a href="javascript:void(0);" class="myButtonPlay" title="Начать просмотр"><img class="button_play" src="{{MEDIA_URL}}images/playlist/btn_play.gif" width="80" height="28" /></a><span>{{item.media.duration}} мин.</span> <a href="javascript:void(0);" class="deleteButton" title="Удалить из плейлиста"><img src="{{MEDIA_URL}}images/playlist/btn_delete.gif" width="29" height="22" /></a> <a href="javascript:void(0);" class="myButtonDown" title="Переместить вниз"><img src="{{MEDIA_URL}}images/playlist/btn_down.gif" width="29" height="22" /></a> <a href="javascript:void(0);" class="myButtonUp" title="Переместить вверх"><img src="{{MEDIA_URL}}images/playlist/btn_up.gif" width="29" height="22" /></a></div>
</li>
{% endfor %}
</ol>
{%endif%}

1 个答案:

答案 0 :(得分:4)

检查ifequal个标签。

{%ifequal item.media.watch_status 0 %} 
    <img src="{{MEDIA_URL}}images/content_started_watch_12x12.gif" title="ddd" alt="" height="12" width="12" style="position:relative;top:2px;"/> 
{%else%} 
    {%ifequal item.media.watch_status 1 %} 
        <img src="{{MEDIA_URL}}images/content_watched_12x12.gif" title="Вы уже смотрели эту передачу" alt="" height="12" width="12" style="position:relative;top:2px;"/> 
    {%endifequal%}
{%endifequal%}

我认为这就是你要做的,但不确定。

说明: 当Django解析for标记时,它只是查找名为endfor的标记 - 它实际上不是真正的标记(如果这有意义)。一旦遇到ifequal标记,它就会接管解析,直到它遇到它的endifequal(它实际上也不是真正的标记)。由于在这种情况下外部ifequal从未找到匹配的endifequal,一旦遇到endfor它就不知道如何处理它,因为它不是真正的标记,因此看似发生了什么奇怪的消息。