国产chinesehdxxxx野外,国产av无码专区亚洲av琪琪,播放男人添女人下边视频,成人国产精品一区二区免费看,chinese丰满人妻videos

Jinja1

2018-02-24 15:39 更新

Jinja2 與 Jinja1 在 API 使用和模板語(yǔ)法上最為兼容。下面的列表解釋了 Jinja1 和 Jinja2 的區(qū)別。

API

加載器

Jinja2 使用不同的加載器 API 。因?yàn)槟0宓膬?nèi)部表示更改,不再支持 memcached 這樣的外部緩存系統(tǒng)。模板的內(nèi)存開(kāi)銷與常規(guī)的 Python 模塊相當(dāng),外部緩存不能 帶來(lái)優(yōu)勢(shì)。如果你以前使用了一個(gè)自定義的加載器,請(qǐng)閱讀?loader API?部分。

從字符串加載模板

在過(guò)去,在默認(rèn)環(huán)境配置中使用?jinja.from_string?從字符串生成模板是可能 的。 Jinja2 提供了一個(gè)?Template?類來(lái)用于做同樣的事情,但是需要 可選的額外配置。

自動(dòng) Unicode 轉(zhuǎn)換

Jinja1 執(zhí)行把字節(jié)串從一個(gè)給定編碼到 unicode 對(duì)象的自動(dòng)轉(zhuǎn)換。這個(gè)轉(zhuǎn)換不再 被實(shí)現(xiàn),因?yàn)樗c大多數(shù)使用常規(guī) Python ASCII 字節(jié)串到 Unicode 轉(zhuǎn)換的庫(kù)不 一致。一個(gè)由 Jinja2 驅(qū)動(dòng)的應(yīng)用?必須?在內(nèi)部的每個(gè)地方都使用 unicode 或 確保 Jinja2 只會(huì)被傳遞 unicode 字符串。

i18n

Jinja1 使用自定義的國(guó)際化翻譯器。 i18n 現(xiàn)在作為 Jinja2 的一個(gè)擴(kuò)展,并且 使用更簡(jiǎn)單、更 gettext 友好的接口,并且支持 babel 。更多細(xì)節(jié)見(jiàn)?i18n 擴(kuò)展?。

內(nèi)部方法

Jinja1 在環(huán)境對(duì)象上暴露了諸如?call_function?、?get_attribute?等內(nèi)部 方法。當(dāng)它們被標(biāo)記為一個(gè)內(nèi)部方法,則可以覆蓋它們。 Jinja2 并沒(méi)有等價(jià)的 方法。

沙箱

Jinja1 默認(rèn)運(yùn)行沙箱模式。實(shí)際上只有少數(shù)應(yīng)用使用這一特性,所以這在 Jinja2 中是可選的。更多關(guān)于上下執(zhí)行的細(xì)節(jié)見(jiàn)?SandboxedEnvironment?。

上下文

Jinja1 有一個(gè)上下文棧存儲(chǔ)傳遞到環(huán)境的變量。在 Jinja2 中有一個(gè)類似的 對(duì)象,但它不允許修改也不是單例的。由于繼承是動(dòng)態(tài)的,現(xiàn)在當(dāng)模板求值時(shí) 可能存在多個(gè)上下文對(duì)象。

過(guò)濾器和測(cè)試

過(guò)濾器和測(cè)試現(xiàn)在是常規(guī)的函數(shù)。不再允許使用工廠函數(shù),且也沒(méi)有必要。

模板

Jinja2 與 Jinja1 的語(yǔ)法幾乎相同。區(qū)別是,現(xiàn)在宏需要用小括號(hào)包裹參數(shù)。

此外, Jinja2 允許動(dòng)態(tài)繼承和動(dòng)態(tài)包含。老的輔助函數(shù)?rendertemplate?作古, 而使用include?。包含不再導(dǎo)入宏和變量聲明,因?yàn)椴捎昧诵碌?import?標(biāo)簽。 這個(gè)概念在?導(dǎo)入文檔中做了解釋。

另一個(gè)改變發(fā)生在?for?標(biāo)簽里。特殊的循環(huán)變量不再擁有?parent?屬性,而 你需要自己給循環(huán)起別名。見(jiàn)?訪問(wèn)父級(jí)循環(huán)?了解更多細(xì)節(jié)。

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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)