7 python template-engine mako genshi
我一直在考虑一个模板解决方案,虽然我的选择是在Mako和Genshi之间.我觉得Genshi的模板有点难看,所以我更倾向于Mako.
我已经开始怀疑:Mako允许嵌入式Python代码这一事实有什么好处?一般的乔怎么方便?
如果没有嵌入Python代码,那么模板化是否足够?
Ale*_*lli 18
正如mako 主页所指出的那样,Mako的优势非常明显:疯狂的快速,在语法和功能方面对任何熟悉Python的人都很熟悉.
Genshi选择"解释"而不是提前生成Python代码(根据他们的常见问题解答,这是为了清除错误消息)和Python的"臂长"方法(例如,通过使用xpath作为选择器,xinclude而不是继承,所以对于那些不懂Python而且非常熟练使用XML的人来说,这可能更自然.
那么你的"观众"是什么?如果是Python程序员,我建议Mako(速度和熟悉程度); 如果XML专家对Python感到不舒服,那么Genshi可能更适合("与Python一致",与XML文化更接近).
你提到"普通的乔",但乔不知道Python和xpath对他来说是一个深刻的黑暗之谜; 如果这真的是你的观众,其他模板系统,如Django可能实际上更合适(帮助他避免陷入麻烦;-).
bob*_*nce 15
如果没有嵌入Python代码,那么模板化是否足够?
只有当您的模板语言具有足够的逻辑功能时,它本身就是一种脚本语言.此时,您可能也使用过Python.
更多涉及的站点通常需要复杂的表示逻辑和非平凡的模板化结构,例如在不同的位置/页面和递归树中重复的部分.如果你的模板语言将你的双手绑在背后,这并不好玩,因为它的宗教立场是"模板中的代码很糟糕".
然后,您最终在Python业务逻辑中编写演示助手函数,这是一种比您必须开始的演示和应用程序逻辑更糟糕的混合.因为不信任你使用它而使你失去权力的语言是蹩脚的.