2015-05-04 53 views
1

我有一個帶有自己模板文件夾的藍圖。 「頂部」模板文件夾中還有一個基本佈局模板。我想從藍圖模板訪問此模板。我嘗試了以下,但得到了「模板未找到」的錯誤。從藍圖模板文件夾訪問佈局模板

{% extends "../../../../../templates/layout.j2" %} 

包看起來是這樣的:

__init__.py 
├── modules 
│ └── citrixlb 
│  ├── citrixlb.py 
│  └── templates 
└── templates 
    └── layout.j2 

我成立了藍圖的template_folder

citrix = Blueprint('citrix', __name__, template_folder='templates', url_prefix='/citrix') 

什麼是引用從另一個模板目錄模板的正確方法是什麼?

回答

3

Flask's Jinja loader flattens將全局文件夾和所有藍圖文件夾合併到一個通用樹中,優先考慮全局文件夾。因此,只需將模板稱爲頂層位置即可。

{% extends "layout.j2" %} 

注意,通過使用「J2」延伸,而不是名「.html」,你可能無意中禁用automatic escaping。建議您對html模板使用「.html」擴展名。