1

我正在尝试包含一个原始 Mako 模板,以使其出现在带有 Pylons 的文本区域中。

在 Pylons 中,我知道我可以将一个 Mako 模板包含在另一个模板中,如下所示:

<html>
<body>
Here is some HTML. Now, I want to include a template.
<%include file="${c.a_mako_template}" />
</body>
</html>

有没有办法我可以做同样的事情,但让模板显示为原始标记而不是通过 Mako 渲染器?我在想像:

<%include file="${c.a_mako_template}" render="false" />

如果这种事情是不可能的,那么编写一个 Pylons 控制器在稍后阶段进行包含的最佳途径是什么?

我能否以某种方式将要包含在 <%text> 标记中的文件即时包装起来,也许使用 <% def>?

4

1 回答 1

1

我想出了一种可行的解决方案。它仍然有一点粗糙,但它有效。

<%
    path = '/path/to/file/'
    f = open(path + c.sourcefile, 'r')
    text_to_edit = f.read()
    f.close()
%>
        <textarea id="code">
        ${text_to_edit}
        </textarea>

第一部分只是嵌入在模板中的一大块 Python。它打开文件并提取文本,从而绕过 Mako。

粗略的一点是硬编码的路径。我必须将它作为 c.path 或类似的东西传递。

于 2011-01-27T22:56:24.387 回答