2013-12-18 45 views
-2
{% if not User_Tld_Entered %} 
    #HTML HERE 

{% endif %} 

    {% if User_No_Auth_Tld > 0 %} 
     {% for NotAuthDomain in User_No_Auth_Tld %} 
      #HTML HERE 
     {% endfor %} 
    {% endif %} 

{% else %} 
    {% for tld in tld_set %} 
     #HTML HERE 
    {% endfor %} 
{% endif %} 

出於某種原因,它是在else上述條件未能投擲:條件無效的塊標籤:「其他人」,預計「端塊」的Django

Invalid block tag: 'else', expected 'endblock' 

什麼我錯在這裏做什麼?

謝謝。

+0

什麼是'else'應該指的是?匹配的「if」在哪裏? –

回答

1

第一個{% endif %}結束第一個塊。然後你有if User_No_Auth_Tld > 0,你也關閉那個塊。在{% else %}出現時,您不再位於if區塊內,因此這是意外標記。

如果你刪除第一個{% endif %}它會工作

+0

哇。非常感謝,我以爲我瘋了。謝謝 – CodeTalk

+0

雖然解釋確實有道理,但我不認爲這會「解決」您的問題。 – karthikr

+0

沒問題:)我發現一個很好的技巧,用於在較大的代碼塊中平衡這些塊(因爲沒有文本編輯器似乎跟蹤)是計算手指上的嵌套:在每個「{%if ... %}'併爲每個「{%endif%}」移除一個手指。如果它全部平衡,你最終會得到0.另外,保持你的縮進整齊! – benwad

0
{% if not User_Tld_Entered %} 
    #HTML HERE 

{% endif %} <- this one needs to go 

    {% if User_No_Auth_Tld > 0 %} 
     {% for NotAuthDomain in User_No_Auth_Tld %} 
      #HTML HERE 
     {% endfor %} 
    {% endif %} <- or this one nedds to go 

{% else %} <-- whos else is this 
    {% for tld in tld_set %} 
     #HTML HERE 
    {% endfor %} 
{% endif %} 
相關問題