私は間違ってはいませんが、私はsettings.pyファイルの隣に自分のHTMLを置くのではなく、TEMPLATE_DIR
リストにプロジェクトディレクトリ(settings.pyファイルを含む)を追加するので、テンプレートを'app/template/file.html'
と命名してください。プロジェクトのディレクトリをDjangoのテンプレートディレクトリとして使うのは悪い考えですか?
Djangoにテンプレートの名前空間が付いていないのはなぜだろうかと思っていました。
- すべてのアプリケーションとは別のテンプレートディレクトリを作成し、各アプリケーションのディレクトリを作成してHTMLを配置します。
- 各アプリケーションdirにテンプレートdirを作成し、アプリケーション名で別のdirを作成してからHTMLを入れます。
- 力がアプリ外で、あなたのHTMLを持っている:
これがあるため、理想的な未満です。プラグイン可能であるほど。
- は、冗長ディレクトリツリーを作成するように強制してDRYに違反します。
project_dir/app_name/template/appname
そうでなければ、'index.html
という名前の複数のテンプレートがあると、大きな時間が掛かります。
だから、それだけですべてのテンプレートファイル'app_name/template/file.html'
を呼び出すためのテンプレートディレクトリとして、プロジェクトのディレクトリを定義するための悪い考えですか?はいの場合、なぜですか?あなたはどうやってそれをきれいにしますか?
あなたは 'app_directories'テンプレートローダーを使用しますと思いますか?これの問題は、appのテンプレートを 'app_name/templates/app_name'に入れない限り、テンプレートローダーはそのアプリのテンプレートをルートにあるものとみなします。例えば、 'my_app'の' home.html'テンプレートを使うには 'app_name/home.html'と反対の' home.html'と呼ぶ必要があります。 –
正しい。名前の衝突は 'app/temp/app'スキームがなければ簡単になります。あなたのアプリテンプレートの名前を別々に指定しない限り、' generic.html'テンプレートがアプリに存在し、最初に読み込まれることを保証できます。しかし、それがあなたのロールであるなら害はない!これは強く型付けされたものと弱いもののどちらかの議論のようなものです。 –
+1 Nimmy Lebby。あなたはこれと衝突する危険があります。 @ユージー:あなたはあなたの仕事の仕方について厳密にすることができますが、遅かれ早かれ、いわゆる "プラグイン可能なアプリケーション"を使用する必要がありますし、問題が始まります。 –