2013-04-15 103 views
-1

我想,如果滿足條件來定義一個變量:隨着templatetag引發錯誤

{% if order_item.status.ordering >= 60 and is_client %} 
     {% with readonly=1 %} 
    {% else %} 
     {% with readonly=0 %} 
    {% endif %} 

    ...some code 

    {% endwith %} 

不過,我得到以下錯誤:

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

我怎樣才能修復Django的這個bug?

+0

你真的看過錯誤嗎?這是非常明確的imho;)爲了供您參考,以下是使用'with'模板標籤的手冊:https://docs.djangoproject.com/en/dev/ref/templates/builtins/#with – Wolph

+0

-1 isn' t mine btw;) – Wolph

+0

@WoLpH明白了 - 爲什麼我不能在這裏定義{%with%}標記...運行其他代碼...然後在最後關閉{%endwith%}? – David542

回答

0

也許最好將readonly屬性/方法添加到您的order_item.status

另外,你也可以嘗試templatefilter或templatetag。

+0

'u'with'收到一個無效的標記:u'> ='' – David542

+0

嗯......只有金庸我猜:(在這種情況下,你可以編寫自己的模板標籤或過濾器來做到這一點...... – Wolph

0

此代碼沒有任何意義,首先應該學習語法。你打開了兩次並關閉了一次,你沒有任何有用的代碼。

+0

if語句不會使它只能打開一次嗎? – David542

+0

每次打開標籤時都必須將其關閉!它不依賴於邏輯條件(if/else)。這是一個語法問題! – Caumons

+0

明白了,謝謝。 – David542