Mako

最后更新于:2022-04-01 04:05:03

如果你迄今使用 Mako 并且想要转换到 Jinja2 ,你可以把 Jinja2 配置成 Mako 一 样: ~~~ env = Environment('<%', '%>', '${', '}', '%') ~~~ 环境配置成这样后, Jinja2 应该可以解释一个 Mako 模板的小型子集。 Jinja2 不支持 嵌入 Python 代码,所以你可能需要把它们移出模板。 def 的语法(在 Jinja2 中 def 被叫做宏)并且模板继承也是不同的。下面的 Mako 模板: ~~~ <%inherit file="layout.html" /> <%def name="title()">Page Title</%def> <ul> % for item in list: <li>${item}</li> % endfor </ul> ~~~ 在以上配置的 Jinja2 中看起来是这样: ~~~ <% extends "layout.html" %> <% block title %>Page Title<% endblock %> <% block body %> <ul> % for item in list: <li>${item}</li> % endfor </ul> <% endblock %> ~~~
';