1

生のMakoテンプレートを含めて、Pylonsのあるテキストエリアに表示しようとしています。

Pylonsでは、次のように1つの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コントローラーを作成するための最良のルートはありますか?

おそらく<%def>を使用して、その場で<%text>タグに含まれるようにファイルをラップすることはできますか?

4

1 に答える 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 に答える