2010-01-23 52 views
1

我正在寫一個簡單的站點來顯示一些數據的統計信息,並且我有一個名爲「stats」的應用程序,我想爲(stats/templates/stats中的地方)編寫默認模板,但是我'喜歡這些可以覆蓋管理應用程序的模板相同的方式。 IE:如果我將stats/view.html放在我的項目的templates目錄中,它將被使用,而不是我的apps目錄中的。我似乎無法弄清楚如何做到這一點。我怎樣才能讓Django在打開應用程序之前搜索項目的TEMPLATE_DIRS?在django中啓用應用程序模板的重寫?

編輯:發現問題,看到有人的教程使用OS模塊設置模板目錄。他們有:

TEMPLATE_DIRS = (
    os.path.join(os.path.basename(__file__), 'templates') 
) 

這應該是:

TEMPLATE_DIRS = (
    os.path.join(os.path.dirname(__file__), 'templates') 
) 

回答

2

你需要把filesystem裝載機以前app_directories裝載機在TEMPLATE_LOADERS設置。

TEMPLATE_LOADERS = (
    'django.template.loaders.filesystem.load_template_source', 
    'django.template.loaders.app_directories.load_template_source' 
) 

TEMPLATE_LOADERS的順序問題。

+0

這看起來像django爲我生成的,filesystem.load_template_source,然後app_directories.load_template_source。 現在我已經得到了ic/templates/stats/view.html和ic/stats/templates/stats/view.html,並且它仍然在應用程序的模板目錄中進行渲染。 – 2010-01-23 19:53:29

+0

這並不能解決問題。 – dragoon 2012-12-13 16:16:37

相關問題