「Kayでのテンプレート継承 – Blog@uchikoshi22」より。
「kay/templates/」に同名のファイルがあると「myapp/templates/」よりも優先して読み込まれてしまう問題。
たとえば次のテンプレートでは「myapp/templates/base.html」ではなく「kay/templates/base.html」が読み込まれてしまう。
myapp/templates/index.html
{% extends "base.html" %}
{% block hoge %} EXTENDED? {% endblock %}
この問題はなかなか気がつかないだろう。
回避策だが、「Kayでのテンプレート継承 – Blog@uchikoshi22」にあるようにsettings.pyのTEMPLATE_DIRSで指定する。
TEMPLATE_DIRS = (
'myapp/templates',
)
あるいは、テンプレートの方で「myapp/base.html」と指定しても良さそうだ。
myapp/templates/index.html
{% extends "myapp/base.html" %}
{% block hoge %} EXTENDED? {% endblock %}
ドキュメントの「7.4. テンプレートの読み込み」では「なお APP_DIR/templates ディレクトリは自動的に読み込みの対象になります。」とあるので、てっきり「myapp/templates/」が優先的に読み込まれると思っていたけれど、そうではないらしい。
最新のKay-fwのソースコードを追いかけていないので、何とも言えないが、自分もはまりそうで気になる。
ぜひともMLに投げていただきたいと思う。
詳しい説明ありがとうございます。
てっきり私だけがチュートリアルもろくに読まず、知らずにいた初歩的なことなんだと思っていました。
参考になりました。
というかいつも参考にさせていただいています。