2009-07-29 9 views
0

Djangoテンプレートのタグ "copyblock"を書くにはどうすればいいですか?そのような機能のためにDjangoのCopyBlockタグ

<title> {% block title %} some title... {% endblock %} </title> 
<h1>{% copyblock title %}</h1> 

答えて

1

Djangoのテンプレートパーサーは名前でブロックを公開していません。 。代わりに、Django Templatenodelistのツリー構造に編成され、レンダリングpushpopがテンプレートノードのスタックにpingされます。あなたの例が示している方法でそれらにアクセスすることは、ほぼ不可能な時間になります。

参考文献リストにあるSOのリンクは、最適なソリューションに関する提案を提供します。これらのソリューションの中で、再利用可能なコンテキスト(例:{{ title }})の変数を定義することは、おそらく最も直接的かつ保守的なアプローチです。複製したい部分が単純な変数を超える場合は、custom template tagがおそらく最も魅力的なオプションです。

+1

+1: '{{title}} 'に焦点を当て、余分な文脈を提供する。カスタムテンプレートタグは、あまり努力する価値がありません。 –

関連する問題