我们很久以前就决定在我们的 Django 项目中使用 Mako 模板。我们还支持 Django 模板,因为许多可重用应用程序(显然)假设 Django 模板可用。我发现可以从 Mako 渲染 Django 模板,但我无法找到一种方法让它反过来工作。
我刚刚将 django-articles 添加到我们的应用程序列表中,它使用了 Django 模板。它假定该base.html
文件是一个覆盖的 Django 模板。不幸的是,我们的主站点是使用 Mako 构建的。我还不能host
在 Mako 中为 Django 模板自己找到一种干净的方式。
我想我想要的是一个模板标签,它会调用 Mako 并请求“嵌入”。
我们的 Mako 模板目前都执行以下操作:
<%inherit file="mako/base.html"/>
我想要的是能够从 Django 模板中做这样的事情:
{% render_in_mako 'mako/base.html' 'body' %}
在 `mako/base.html' 中使用以下内容:
</head>
<body>
<%include file="header.html" />
${next.body()}
</body>
</html>
以前有人必须这样做吗?我对编写模板标签不是很熟悉。你认为这可以做到吗?另一种选择可能是在 Mako 中重写所有模板,这对我一点吸引力都没有。我认为模板标签对许多使用 Mako 的项目非常有用。