2015-08-31 132 views
1

這裏是我的模板路徑文件路徑Django的擴展模板

webapp/ 
    |__templates/ 
     |__frontpage/ 
     |  |__home.html 
     |__home_base.html 

在home.html的,它具有:

{% extends "home_base.html" %} 

該文件結構將正常工作。不過,我想將home_base.html放在首頁中,因爲這樣做更有意義。然而,如果home_base.html被移動到frontpage /,Django會報告home_base.html模板不存在。

該錯誤表示無法在模板/文件夾下找到home_base.html文件。由於home_base.html被移動到首頁/,爲什麼它不搜索frontpage/first內的home_base.html?我錯過了任何配置?

回答

1

您需要爲擴展模板執行以下操作。

{% extends "frontpage/home_base.html" %} 

Django沒有一個想法,你已經移動了你的模板。它將根據您在設置中定義的模板路徑查找模板。

template loader將在TEMPLATES設置中的DIRS設置中定義的目錄中查找模板。

DIRS設置文檔:

目錄,其中發動機應該尋找模板源文件,在 搜索順序。

而且,如果frontpage是一個應用程序,你已經把你的模板在frontpage應用程序,而不是templates文件夾,然後可以設置APP_DIRS設置,以True。這將告訴Django也可以在各個應用程序中找到模板。

APP_DIRS設置文檔:

發動機是否應該尋找裏面 安裝的應用程序模板源文件。