2014-01-14 44 views
0

錯誤是:無效的塊標記:'endif'。Django/sekizai/classytags模板拋出關於endif標記的錯誤

首先有關錯誤是關於什麼的 - 我包裹整個模板到條件:

{% if something %} 
{% else %} 
{% load cms_tags sekizai_tags menu_tags %} 
{% render_block "css" %} 
{% render_block "js" %} 
{% endif %} 

,這會導致Django的拋出錯誤:

TemplateSyntaxError在/我的空間/ 無效的塊標籤:「ENDIF 「

但問題顯然是classytags/sekizai作爲

{% if something %} 
{% else %} 
<h1>Hello world</h1> 
{% endif %} 

呈現沒有錯誤。

有誰知道我可以如何避免這個錯誤或修復它?

現在第二部分 - 我想要實現的是 - 當請求是ajax請求時,我想顯示有些不同的HTML頁面。條件應該是request.is_ajax。但如果改爲以更清晰的方式說明我的觀點。我正在使用django-cms,它允許您只爲每個頁面設置一個模板。這不會是一個問題,如果我可以提供相同的內容,但與不同的周圍的HTML在ajax請求的情況下,但不幸的是,渲染失敗...

回答

1

那麼,這是很清楚the documentation使用{%render_block ...%}在另一個模板標籤塊內是不允許的。

難道你只是這樣做,如果條件內的渲染塊?

編輯:剛纔注意到這個問題並不是最近的。好吧。好奇你是如何最終解決你的問題的......

+1

我沒有。你是絕對正確的。我錯過了那部分文檔。我沒有解決我的問題。這是classytags的非常非常糟糕的功能,我正認真考慮再也不會因爲這個原因再次使用django cms。 –