Django テンプレート内に他のテンプレートファイルをインクルードする

インクルードするときによくパスを間違えるため、備忘録。

[amazonjs asin="B00XZTYMG6″ locale="JP" title="Pythonプロフェッショナルプログラミング 第2版"]

他のテンプレートファイルをインクルードする

以下の様なディレクトリ構成とする。

スクリーンショット 2015-08-24 17.36.25

 

 

 

 

 

 

 

結論からいうと、「どのファイルからどのファイルをインクルードするときも、templatesからの相対パス」で指定する。

 

テンプレート内に他のテンプレートファイルをインクルードしたいときは、

[html]
{% include 'テンプレートファイルのパス’ %}
[/html]

のように記述する。

 

base.htmlからheader.htmlを呼び出したい場合は、

[html]
{% include './header.html’ %}
[/html]

と記述する。

uploaderディレクトリに入っているtop_page.htmlからbase.htmlをインクルードしたいときも同様で、

[html]
{% include './header.html’ %}
[/html]

と記述すればいい。

また、base.htmlからtop_page.htmlをインクルードしたいときは、

[html]
{% include './uploader/top_page.html’ %}
[/html]

と記述する。