2010-09-29 107 views
3

我想使用Django模板來處理純文本文件,並試圖這樣:但是django:我們可以做loader.get_template('my_template.txt')嗎?

from django.template import loader, Context 
t = loader.get_template('my_template.txt') 

,它適用於這樣的:

from django.template import loader, Context 
t = loader.get_template('my_template.html') 

可以使用Django模板加載器加載我們txt文件?怎麼樣?

謝謝。

+2

不禁要問明顯的問題:'my_template.txt'是否存在?只要是文本文件,Django的模板引擎就不會在意使用文本,html,xml或其他任何東西。 – Seth 2010-09-29 00:22:29

+0

是的。它確實如此。我把兩個都放在同一個目錄下。 – john 2010-09-29 00:42:32

+0

你確定嗎?它必須位於一個設置中定義的TEMPLATE_DIRS目錄中。這是我能想到的唯一的東西,否則它應該能夠打開任何文本文件。嘗試將您的html文件複製到.txt文件中,或許您使用的.txt文件不是正確的mimetype,如果它是奇怪地創建的 – Purrell 2010-09-29 04:57:27

回答

3

由於@Seth評論我看不出有任何理由,這不應該工作。 Django不關心文件的擴展名。你可以很好地加載my_template.foo

檢查以下內容:

  1. 該文件確實存在,它應該是。如果它位於子目錄中,則必須使用loader.get_template('<subdirectory>/my_template.txt'),其中子目錄是目錄的名稱。

  2. 檢查您是否有應用程序名稱。通常將應用程序的所有模板定位到具有應用程序名稱的目錄中。

  3. 由於@Seth表示仔細檢查您的TEMPLATE_DIRS設置。該模板應位於此列表中的目錄中。