2017-05-03 84 views
2

我有使用imgix plugin像這樣這個簡單的模板:錯誤不呈現

// template_b.html 
{% get_imgix project.picture %} 

這條線會導致錯誤,應被

{% get_imgix project.picture.url %} 

這塊被替換代碼在包含的模板中:

// template_a.html 
{% include "template_b.html" %} 

看來,當模板t ags失敗,在第一種情況下(提出AttributeError),模板爲,簡單地被忽略。如果DEBUG設置爲False,則不會產生錯誤。

雖然這對於防止任何面向用戶的錯誤當然是有用的,但它仍然是關於沒有任何形式的反饋。

您是否知道我可以在哪裏找到與此行爲有關的更多信息,以及是否仍有方法可以通知失敗?

回答

2

你不是唯一一個被這種行爲困擾的人。請參閱django-developers郵件列表上的this discussion

沉默行爲has been deprecated in Django 1.11。在Django 2.1中,會引發異常。在Django 1.11和2.0中,如果include標記引發異常,則會收到棄用警告,但異常處於靜默狀態。

我對早期版本的Django沒有任何好的建議。如果它對您真的很重要,您可以創建自己的include標籤。