python - 我应该使用 Mako 做模板吗?

标签 python template-engine mako genshi

我一直在考虑模板解决方案,尽管我的选择是在 Mako 和 Genshi 之间。我发现 Genshi 中的模板有点难看,所以我更多地转向 Mako。

我想知道:Mako 允许嵌入 Python 代码这一事实有什么好处?对普通人来说方便吗?

如果没有嵌入式 Python 代码,模板化就足够了吗?

最佳答案

作为灰鲭鲨 homepage指出,Mako 的优势非常明显:非常快,任何在语法和功能方面都熟悉 Python 的人都能立即熟悉。

Genshi 选择“解释”而不是提前生成 Python 代码(根据他们的 FAQ ,这是为了清楚地显示错误消息)和 Python 的“保持距离”方法(例如,通过对选择器使用 xpath, xinclude 而不是继承等),因此对于不懂 Python 但精通 XML 的人来说可能更自然。

那么您的“听众”是什么?如果是 Python 程序员,我建议使用 Mako(为了速度和熟悉度);如果 XML 专家对 Python 感到不舒服,那么 Genshi 可能更适合(对于“与 Python 保持距离”的方法和更接近 XML 文化)。

您提到“普通的乔”,但乔不知道 Python 并且 xpath 对他来说是一个深深的黑暗之谜;如果那真的是您的听众,那么 Django 等其他模板系统实际上可能更适合(帮助他避免惹上麻烦;-)。

关于python - 我应该使用 Mako 做模板吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1384634/

相关文章:

python - 为什么 Python 优化了 "if 0"而不是 "if None"?

python - 无限循环

python - 如何使用 Pandas 转移数据框中的值?

javascript - 如何使用 John Resig JavaScript 微模板引擎?

javascript - 以正确的方式使用 Backbone 集合将它们传递到 subview 中,然后再传递到模板引擎中

Mako 模板过滤器排序

jquery - CSS/jQuery - 悬停时图像上的文本

python - Win 7 32 matplotlib 日期工具

node.js - 如何将包含的部分插入代码插入父 block 中?

python - Mako 模板中重复使用的变量导致 "UnboundLocalError: local variable ' xyz' 在赋值之前被引用”