jinja2

jinja2

Jinja2是基於python的模板引擎,功能比較類似於於PHP的smartyJ2ee的Freemarker和velocity。它能完全支持unicode,並具有集成的沙箱執行環境,應用廣泛。jinja2使用BSD授權。

基本簡介


Jinja2是Python下一個被廣泛應用的模版引擎,他的設計思想來源於Django的模板引擎,並擴展了其語法和一系列強大的功能。其中最顯著的一個是增加了沙箱執行功能和可選的自動轉義功能,這對大多應用的安全性來說是非常重要的。
他基於unicode並能在python2.4之後的版本運行,包括python3。

特性

沙箱執行模式,模板的每個部分都在引擎的監督之下執行,模板將會被明確地標記在白名單或黑名單內,這樣對於那些不信任的模板也可以執行。
強大的自動HTML轉義系統,可以有效地阻止跨站腳本攻擊。
模板繼承機制,此機制可以使得所有的模板都具有相似一致的布局,也方便了開發人員對模板的修改和管理。
高效的執行效率,Jinja2引擎在模板第一次載入時就把源碼轉換成Python位元組碼,加快模板執行時間。
可選的預編譯模式。
調試系統融合了標準的Python的TrackBack系統,使得模板編譯和運行期間的錯誤能及時被發現和調試。
語法可配置,可以重新配置Jinja2使得它更好地適應LaTeX或JavaScript的輸出。
模板設計人員幫助手冊,此手冊指導設計人員更好地使用Jinja2引擎的各種方法。

誰在使用


Python框架

Flask使用jinja2作為框架的模板系統
使用django等其他Python web框架也可以方便的集成jinja2模板系統

一些網站

Mozilla
SourceForge
Instagram