2012-04-24 150 views
1

生命統計: 的Ubuntu 11.04 的Django 1.3.1TemplateDoesNotExist錯誤,但模板事實上確實存在

我正在草堆由嗖支持。該網站的其餘部分功能正常,但是當我嘗試搜索時,對於包含在templates/search/search.html中的模板,我得到一個TemplateDoesNotExist例外。模板加載器顯然能夠讀取search.html,或者它不知道試圖獲取include。包含的文件_resultPage.html位於相同的目錄中,具有與search.html相同的權限和相同的所有者和組。而且,這不僅僅是這一個包括。如果我註釋掉它,它會在下一個包含的文件中出錯。

任何想法?

+0

...什麼模板? – 2012-04-24 02:04:31

+0

我不確定你的意思。 'search.html'中包含的任何模板。它加載'search.html',但是包含在其中的任何內容都失敗。儘管如此,我的問題仍然存在,所以你讓我猜測自己。 – 2012-04-24 02:07:44

+0

「什麼模板?」如「在問題中的模板在哪裏,呃,在你的問題中?」。 – 2012-04-24 02:11:08

回答

0

我是時間緊迫下,所以我乾脆捲起所有模板中包含右轉入search.html並把它稱爲一天。

2

include標記依賴於django.template.loader.get_template,它以正常方式而不是相對路徑搜索模板。你使用"_resultPage.html"還是"search/_resultPage.html"。如果使用第一種形式,則'template/search/search'的絕對路徑必須在TEMPLATE_DIRS之內。您可以檢查通過執行以下操作:

>>> from django.template.loader import get_template 
>>> get_template('_resultPage.html') 
+0

我正在使用'{%include'search/_resultPage.html'%}'。 – 2012-04-25 01:29:50

+0

@ChrisPratt這很奇怪。你有想過嗎? – okm 2012-04-26 13:10:17

+0

不幸的是,沒有。我時間緊迫,所以我只是把所有包含的模板都放到search.html中。 – 2012-04-26 14:21:01