ここでDjangoテンプレートの奇妙な名前空間 - なぜですか?
polls/templates/polls/index.html
、フォルダ「世論調査」はappフォルダで、それは「myprojectの内側に位置しています:Django tutorialは、それはあなたがそうのようなフォルダに「ポーリングアプリ」のためのテンプレートを置く必要があることをあなたに説明します'フォルダー。今、私たちは(むしろ別の世論調査のサブディレクトリを作成するよりも)世論調査/テンプレートで直接 当社のテンプレートを入れて逃げることができるかもしれません
を名前空間を
テンプレート:
彼らは具体的には、以下に言及します、 しかし実際は悪い考えです。 Djangoは名前が一致する最初の テンプレートを選択し、別のアプリケーションで同じ名前の というテンプレートがある場合、Djangoは を区別できません。 Djangoには を指摘できる必要があります。これを確実にする最も簡単な方法は、名前空間を使用することです。 つまり、これらのテンプレートを という名前の別のディレクトリの中に置くことによって、アプリケーション自体を作成します。
私にとっては、Djangoテンプレートの実装で間違いのようです。具体的には、テンプレートローダーが意図的に情報を無視しているように見えます。つまり、./polls/templatesのパスから取得した 'polls'です。
私の質問は:
私の知る限り、それはappディレクトリからアプリ名を収集するように1はテンプレートローダを作っている可能性が言うことができるように。そうすれば、appディレクトリ内のtemplatesフォルダ内にappのような別のディレクトリを作成する必要はありません。
何か不足していますか? テンプレートフォルダ内のフォルダが必要になったのはなぜですか?