基礎(chǔ)

2018-02-24 15:39 更新

Jinja2 使用一個名為?Environment?的中心對象。這個類的實例用于存儲配 置、全局對象,并用于從文件系統(tǒng)或其它位置加載模板。即使你通過:class:Template?類的構(gòu)造函數(shù)用字符串創(chuàng)建模板,也會為你自動創(chuàng)建一個環(huán)境,盡管是共享的。

大多數(shù)應(yīng)用在應(yīng)用初始化時創(chuàng)建一個?Environment?對象,并用它加載模板。 在某些情況下,如果使用多份配置,使用并列的多個環(huán)境無論如何是有用的。

配置 Jinja2 為你的應(yīng)用加載文檔的最簡單方式看起來大概是這樣:

from jinja2 import Environment, PackageLoader
env = Environment(loader=PackageLoader('yourapplication', 'templates'))

這會創(chuàng)建一個默認(rèn)設(shè)定下的模板環(huán)境和一個在?yourapplication?python 包中的?templates文件夾中尋找模板的加載器。多個加載器是可用的,如果你需要從 數(shù)據(jù)庫或其它資源加載模板,你也可以自己寫一個。

你只需要調(diào)用?get_template()?方法從這個環(huán)境中加載模板,并會返回已加載的?Template:

template = env.get_template('mytemplate.html')

用若干變量來渲染它,調(diào)用?render()?方法:

print template.render(the='variables', go='here')

使用一個模板加載器,而不是向?Template?或?Environment.from_string()?傳遞字符串,有許多好處。除了使用上便利, 也使得模板繼承成為可能。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號