2010-10-21 68 views
2

問題是什麼?它說我無效的塊標籤:'endfor'。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%} 

回答

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它不知道該怎麼做,因爲它不是一個真正的標籤,因此看似奇怪的消息發生了什麼。

+0

Django抱怨,因爲它認爲它到達endfor時仍然處於ifequal塊之一內。 – Amos 2010-10-21 17:57:40

+0

+1說明 – frnhr 2011-03-15 14:26:31

相關問題