私は文脈で利用可能なデータによって決まるdefテンプレートを呼び出す方法を見つけようとしています。Pythonテンプレート言語Makoで実行時にのみ認識される名前でテンプレート定義を呼び出すにはどうすればよいですか?
編集:同じ質問のより単純な例です。
文脈におけるオブジェクトの値を放出することが可能である:
# in python
ctx = Context(buffer, website='stackoverflow.com')
# in mako
<%def name="body()">
I visit ${website} all the time.
</%def>
を生成し:
I visit stackoverflow.com all the time.
Iデータに基づいて出力のカスタマイズを可能にしたいと思います。
I visit <a href='http://stackoverflow.com'>stackoverflow.com</a> all the time.
私はbody
def
で使用している作ら構文に
I visit stackoverflow.com all the time.
からの出力を変更する必要がある状況でformat
属性を変更する
# in python
ctx = Context(buffer, website='stackoverflow.com', format='text')
# in mako
<%def name="body()">
I visit ${(format + '_link')(website)} all the time. <-- Made up syntax.
</%def>
<%def name='html_link(w)'>
<a href='http://${w}'>${w}</a>
</%def>
<%def name='text_link(w)'>
${w}
</%def>
は明らかに間違っています。動的にテンプレートを指定して呼び出す必要がありますか?
あなたは、あなたの目標が何であるかを説明してもらえますか?明らかに、これは畳み込まれています。あなたが達成したいと思っているものがあります。これを試みる理由は何ですか? –