我应该在CherryPy中使用哪种模板技术?

时间:2009-06-14 15:33:01

标签: python templates template-engine cherrypy

我正在使用cherrypy构建Web应用程序。

您推荐使用哪种模板技术?

6 个答案:

答案 0 :(得分:5)

如果你的意思是模板引擎,我使用mako和cherrypy取得了一些成功。他们似乎只是很好地一起玩。

Mako非常容易上手和定制,我认为,这也是您选择Cherrypy的两个主要原因。 cherrypy官方教程也使用mako,你可以在那里看到simple sample application

答案 1 :(得分:5)

你的意思是在MVC中查看?我推荐你非常好的模板引擎Jinja2

答案 2 :(得分:4)

我喜欢Cheetah

答案 3 :(得分:3)

我喜欢Genshi。

我喜欢它的一个原因很简单,当HTML与其他流行的模板引擎的文本级语法混合时,XML语法看起来更清晰。例如,能够坚持使用py:for属性来输出表格与嵌套凌乱的#if或任何行是很好的。

另一个原因是因为它基于XML并将您的HTML视为XML,它保证您的标记在语法上是正确的 - 即标记是关闭的并且正确嵌套,特殊字符被正确转义等等。其他模板引擎只需将您的HTML视为文本并输出您提供的任何内容而无需额外的santity检查。

Genshi的主要缺点是它比基于文本的快速引擎慢得多。但是,对于大多数站点来说,它的性能应该足够好。除非您的网站特别需要以超快的速度呈现文本/ HTML,否则Genshi提供的可读性和语法检查可能会超过性能损失。

答案 4 :(得分:2)

Zen master可能会回答:“是”。

如果您正在构建Web界面,我会选择一个提供可读标记模板的引擎,例如Genshi。

如果您正在构建一个休息服务器并需要返回其他类型的数据,我会使用其中一个更加面向文本的引擎,如Cheetah或Mako。

对于构建HTML页面,我更喜欢Genshi而不是Cheetah或Mako,即使速度相当慢。返回JSON时,我更喜欢更快的基于文本的引擎。

因为Cherrypy与引擎无关,所以如果需要,可以同时使用它们。

答案 5 :(得分:0)

还有Genshi 他们的教程基于使用cherrypy