2013-09-26 65 views
0

我最近將一個站點從1.4升級到了1.5.4,看起來好像在submit_line.html模板中沒有設置「original」。 此行失敗出於這個原因:Django從1.4升級到1.5.4打破了submit_line.html管理模板

{% if show_delete_link %} 
<p class="deletelink-box"> 
<a href="{% url opts|admin_urlname:'delete' original.pk|admin_urlquote %}" 
class="deletelink">{% trans "Delete" %} 
</a></p>{% endif %} 

我追查這回change_form管理模板(Django的/的contrib /管理/模板/管理/ change_form.html),也使用「原始」,併成功擴展完全相同的上下文對象。

任何幫助將不勝感激。

+0

你能告訴回溯..? –

+1

未找到參數'(u'INVALID_TEMPLATE_STRING_original.pk',)'和關鍵字參數'{}'的'INVALID_TEMPLATE_STRING_opts'的反轉。 – user2611053

回答

2

您的設置文件中是否設置了TEMPLATE_STRING_IF_INVALID? Django文檔recommends against enabling TEMPLATE_STRING_IF_INVALID by default

雖然TEMPLATE_STRING_IF_INVALID可以是一個有用的調試工具,它是一個壞主意,把它作爲一個「發展默認」。

許多模板(包括Admin站點中的模板)在遇到不存在的變量時都依賴模板系統的靜默。如果您爲「TEMPLATE_STRING_IF_INVALID」分配了「'以外的值,則會遇到這些模板和網站的渲染問題。

+0

這是不相關的。錯誤是沒有設置「原始」,我沒有使用TEMPLATE_STRING_IF_INVALID證明了這一點。這是一個不相關的切線。 – user2611053

+0

上面顯示INVALID_TEMPLATE_STRING的堆棧跟蹤是一個紅色的鯡魚 - 這不是一個標準的Django錯誤 –

+0

再次,這是不相關的。問題是沒有設置「原始」,這個方便的調試工具使得這個顯而易見的明顯,而不是顯示一個模糊的堆棧跟蹤。查看模板語法,您會注意到,如果未設置「原始」,它顯然會崩潰。這是確切的問題,沒有別的。沒有什麼比這個方便的TEMPLATE_STRING_IF_INVALID工具更好地顯示確切的問題。 – user2611053

0

在我的情況下,我沒有向管理員註冊模型。即:我忘了添加下面我model.py

admin.site.register(Post),其中郵政是一個型號