2011-01-12 11 views
14

Djangoテンプレートに{% include page.html %}タグを使用して、page.htmlの値を動的に構成したいと考えています。Django:{%include%}タグの値を動的に作成しますか?

Djangoでこれを行う方法はありますか?

{% include page_{{mode}}.html %} 

ありがとう:

はここで擬似コード例です!ドキュメントから

答えて

19

テンプレート名は、単一または二重引用符で 、 変数またはハードコードされた(引用された) 文字列のいずれかとすることができます。

あなたのビュー内で変数を構築し、コンテキストを介してテンプレートに渡します。たとえば、 'modeTemplate': "page _" + mode + ".html"です。次のようにします。

{% include modeTemplate %} 

「モード」は、ビューコード内のPython変数であると仮定します。

6

私はgolineyを要約すると、より良い答えにhere

を提供したことを考えます:

組み込みの'with' template tagを組み合せて、動的に作成されたテンプレート名を変数に割り当て、'add' filterとテンプレート名を動的に構築します。例えば

{% with template_name='page_'|add:mode|add:".html" %} 
    {% include ""|add:template_name %} 
{% endwith %} 
関連する問題