它们都可以让你将一些 mako 渲染的内容粘贴到另一个内容中。两者都可以让你传递参数。
两者之间有性能差异吗?一个哲学的?
def 用于在模板中定义函数,而 include 执行另一个文件。
mako 文档总结如下:
从另一个模板调用 a
<%def>
类似于使用<%include>
- 只是您调用的是模板中的特定函数,而不是整个模板。
(来自http://docs.makotemplates.org/en/latest/defs.html)
当然,<%include>
涉及到另一个文件,你可以<%def>
从定义它的同一个文件中调用 a 。