我正在使用cherrypy 构建一个Web 应用程序。
你推荐我使用什么模板技术?
你的意思是在MVC中查看?我推荐你非常好的模板引擎Jinja2。
我喜欢猎豹。
我喜欢根氏。
我喜欢它的一个原因很简单,与其他流行的模板引擎的文本级语法相比,当与 HTML 混合时,XML 语法对我来说看起来更干净。例如,能够粘贴 py:for 属性以输出表格而不是嵌套凌乱的 #if 或任何行,这很好。
另一个原因是因为它基于 XML 并将您的 HTML 视为 XML,它保证您的标记在语法上是正确的——即标签是封闭的并正确嵌套,特殊字符被正确转义等。其他模板引擎将简单地处理您的 HTML 作为文本并输出您提供的任何内容,无需额外的完整性检查。
Genshi 的主要缺点是它比更快的基于文本的引擎慢得多。但是,它的性能对于大多数站点来说应该足够好。除非您有一个特别需要以超快的速度呈现文本/HTML 的站点,否则 Genshi 提供的可读性和语法检查可能会超过性能损失。
禅师可能会回答:“是的”。
如果您正在构建一个 Web 界面,我会选择一个提供可读标记模板的引擎,例如 Genshi。
如果您正在构建一个休息服务器并需要返回其他类型的数据,我会使用更面向文本的引擎之一,例如 Cheetah 或 Mako。
对于构建 HTML 页面,我更喜欢 Genshi 而不是 Cheetah 或 Mako,即使它有点慢。返回 JSON 时,我更喜欢更快的基于文本的引擎。
而且因为 Cherrypy 与引擎无关,如果需要,您可以同时使用它们。
还有Genshi 他们的教程是基于使用cherrypy