xxxmenger 发表于 2017-4-29 10:37:34

python 领域中的模板引擎 转

GenShi


[*]特点:解释型模板,纯粹面向 xml,流式的处理机制,能够嵌入 python 语句和表达式,提供强大的功能。
[*]从Kid 发展而来,比 Kid 更灵活,性能也更好,实现部分 XPath,XInclude 规范。
[*]TurboGears默认的模板引擎将从 Kid 转为 GenShi。
 
MaKo


[*]特点:编译型模板,卓越的性能,将 Python 语言优雅得植入模板中,功能强大。
[*]由 Myghty 发展而来,是对 Myghty 的重新设计和重新实现,类似 GenShi和 Kid 的关系。
[*]PyLons默认的模板引擎将从 Myghty 转为 MaKo。
 
JinJa


[*]特点:编译型模板,类似 django 模板的简洁语法,适合网页设计师使用。继承和发扬了 django 模板在安全性方面(SandBox)的考量,限制模板的能力,有专门机制防止模板修改数据和访问危险代码!
[*]与django 模板主要区别在于:编译 vs 解释,macro,支持 python 表达式。另外还有一些细节上的区别,见:Differences To Django Templates
[*]根据 FAQ,性能大概三倍低于 mako,两倍高于 django模板。
 
ClearSilver
ClearSilver是一个高性能的模版系统,让我们看看他的使用网站,就知道他的表现有多好。

[*]Bloglines
[*]Google Groups
[*]Yahoo Groups

 
印度豹
Cheetah- http://www.unrealtower.org/mycheetah
CheetahTemplateOrg-- 一个历史悠久的JAVA 模板系统的衍生,可以生成一切文本文件
 
Myghty Google 的利器
MyghtyOrg-- 一个高速模板系统,几乎可以独立作为web 应用平台来使了
 
Kid
Kid是一种简单的基于 XML 的模板语言,它使用嵌入的 Python 语句来对某些元素进行处理,它的语法借鉴了许多现存的模板语言,诸如 XSLT、TAL、PHP等等。
Kid 的设计目标是为了简化 Python 对 XML 文档的处理。同其它 XML 工具相比:

[*]SAX、DOM、ElementTree等 API 可以保证输出是组织良好的,但要求文档必须用 Python 创建。
[*]Cheetah、PTL 等模板语言很容易使用,但不能保证输出结果是组织良好的。
[*]XSLT提供了许多函数来产生良好的 XML 文档,但要求所有输入必须是 XML 文档格式,用起来也不怎么简便。
Kid 则试图结合所有上述技术的优点。
Kid 可以用来产生任何形式的 XML 文档,包括 XHTML、RSS、Atom、FOAF、RDF、XBEL、XSLT、RelaxNG、Schematron、SOAP 等等。

[*]参考:肯定来过的学习笔记。
 
其它
PyWork- http://pywork.sourceforge.net
Subway- http://subway.python-hosting.com/
Spyce- http://spyce.sf.net
电子通
ZQ收集对比

[*]http://floss.zoomquiet.org访问路径:->org.python->WebApp.->Py模板系统
页: [1]
查看完整版本: python 领域中的模板引擎 转