六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 124|回复: 0

换来换去,python的模板引擎还是mako好用

[复制链接]

升级  64%

40

主题

40

主题

40

主题

秀才

Rank: 2

积分
146
 楼主| 发表于 2013-2-7 19:42:00 | 显示全部楼层 |阅读模式
以前在web.py里用过cheetah和mako
cheetah效率高,但实在太老了,不好用
mako效率也很高,编译成pyc的,但是有个小缺点就是他是额外定义标签,复杂结构的html代码会较长

后来使用Turbogears2.0,它的默认模板引擎是Genshi,就用了一段时间。(当然Turbogears2.0也可以使用mako,需要小小的修改一下配置文件)
Genshi是完全基于xml的引擎,标签都是定义在html标签中,例如<div py:if="condition" />,写起来很优雅,节省代码
但是他的结构是自下而上的,具体页面采用xpath语言来选择模板页面相应的部分来装饰本页面,理解起来使用起来很复杂,也许用好了会非常强大,但我到现在都没有完全用好。
而且Genshi的效率虽然比它的前辈kid要高,但比起mako和cheetah实在太低,特别是复杂页面更是没得比。

而且Genshi是xml的,只能用来生成html,而mako是文本模板,可以用来生成任何模板,所以mako的用途更广

现在Turbogears2.1a 在生成项目的时候可以直接选择使用mako模板,就不用自己再改配置了,所以顺势就换用mako
发现还是mako好使,genshi那种高级玩意还是整不来,还是这种自上而下的继承方式来的实在,清楚。
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表