Jinja2 ── 支持unicode 采用BSD协议 源于Django的 python模板引擎
Jinja2 是基于 python 下一个被广泛应用的模版引擎,功能类似 PHP 的 smarty,J2ee 的 Freemarker 和 velocity。它完全支持 unicode,且集成了沙箱执行环境,应用广泛。jinja2 采用 BSD 许可授权协议。
Jinja2 是一个现代、代码友好,设计思想源于 Django 模板引擎的 Python 模板语言。Jinja2 扩展了 Django 的语法和添加了一系列强大功能。Jinja2 渲染速度快,已被广泛应用,其中最显著的一项是增加了沙箱执行功能和可选自动转义功能,这对于大多数应用的安全性来说,是非常重要的。
目前,包括 Flask 框架,Mozilla、SourceForge、Instagram、NPR 在内,都在使用 jinja2 作为模板系统。
主要特点
01、沙箱 Jinja2 沙箱执行模式,模板的每个部分都在引擎监督下执行,模板会被明确标记在白名单或黑名单内;这样的话,对于那些不信任的模板也可执行。
02、自动转义 HTML
强大的自动 HTML 转义系统,可有效地阻止跨站脚本攻击。
03、模板继承机制 此机制可使所有模板,都具有相似一致的布局,方便开发人员对模板的修改和管理。
04、高效的执行效率 Jinja2 引擎在模板第一次加载时,就会把源码转换成 Python 字节码,加快模板执行速率、缩短执行时间。
05、可选预编译模式
06、调试系统 调试融合了标准 Python TrackBack 系统,使得模板编译和运行期间的错误,能及时被发现和调试。
07、语法可配置 可重新配置 Jinja2,使之可更好地适应 LaTeX 或 JavaScript 的输出。
版权声明:
本文为独家原创稿件,版权归 德云社区,未经许可不得转载;否则,将追究其法律责任。
|