1
和「模板」目錄我正在尋找一種方式有單獨'template'
和'includes'
目錄與Jinja2的,只允許單獨的「包括」爲Jinja2的
例如說我有以下的目錄佈局:
/templates/
base.html
/includes/
header.html
footer.html
我想,以確保應用程序級get_template
只有base.html
看到它,那include
模板聲明只有header.html
和footer.html
提供給它。
我知道,我可以兩個目錄添加到裝載機,如:
loader = jinja2.FileSystemLoader(['/templates/', '/includes/'])
env = jinja2.Environment(loader=loader)
template = env.get_template('base.html')
但是,這並沒有給我,我要找的兩個不同的模板類型的嚴格分離。
有沒有辦法強制這種分離,所以.get_template('base.html')
會成功,但{% include 'base.html' %}
會失敗?
有什麼方法可以使用兩個不同的加載器,一個最初獲取模板,另一個將在渲染模板時使用?
例如,我可以做這樣的事情?......
base_loader = jinja2.FileSystemLoader('/templates/')
includes_loader = jinja2.FileSystemLoader('/includes/')
base_env = jinja2.Environment(loader=base_loader)
includes_env = jinja2.Environment(loader=includes_loader)
template = env.get_template('base.html')
template.env = includes_env