私たちはかなり前に、Django プロジェクトで Mako テンプレートを使用することを決定しました。多くの再利用可能なアプリは (明らかに) Django テンプレートが利用可能であると想定しているため、Django テンプレートもサポートしています。Mako から Django テンプレートをレンダリングできることがわかりましたが、逆に機能させる方法を見つけることができませんでした。
アプリのリストに django-articles を追加したところ、Django テンプレートを使用しています。base.html
ファイルがオーバーライドされた Django テンプレートであると想定しています。残念ながら、私たちのメイン サイトは Mako を使用して構築されています。host
私は、 Mako 内で Django テンプレートを自分自身にきれいに配置する方法をまだ見つけられていません。
私が欲しいと思うのは、マコに呼びかけて「埋め込み」を要求するテンプレートタグです。
現在、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 を使用している多くのプロジェクトにとって非常に役立つと思います。