...いくつかのアプリが、適切な階層の外で同様の名前のテンプレートを定義するとき。ありがとうございました。Djangoはどのようにテンプレート名の衝突を処理しますか?
0
A
答えて
1
テンプレートローダーは、settings.TEMPLATE_LOADERS
で定義した順序で適用されます。あなたはfilesystem
ローダーAFTER app_directories
ローダーを実行しているし、あなたのテンプレートがfilesystem
ローダーに配置されている場合
は、例えば、app_directories
ローダが使用されることはありません。
app_directories
ローダーについて具体的に言えば、INSTALLED_APPS
で定義されている順番でアプリテンプレートフォルダを検索します。
テンプレートの名前が重複していて、意図しない(上書きの階層ではない)場合は、各テンプレートフォルダの先頭にアプリ名を付ける方がよい場合があります。
# this is standard
myapp/templates/myapp/index.html
myapp2/templates/myapp2/index.html
1
意味が明確ではありません。テンプレートを指定するときは、適切に名前を付けて正確に指定する必要があります。あなたがテンプレートのリストから「ベスト」テンプレートを選ぶ管理者のようなものを意味するならば、それは単純なアルゴリズムを使って最もマッチしたものを見つけます。 loader.select_templateにテンプレートのリストを渡すだけで、これが実行され、有効な最初のテンプレートが使用されます。
関連する問題
- 1. Django slugified urls - どのように衝突を処理するのですか?
- 2. Django:モデル名の衝突
- 3. 多くの衝突を処理する
- 4. 衝突検出をセットアップしてから2Dゲームで衝突を処理する
- 5. jquery名前空間の衝突を処理するにはどうすればいいですか?
- 6. どのように衝突を検出するが、box2dで衝突しない?
- 7. 処理上の衝突検出
- 8. 移動スプライトによる2dスプライトの衝突処理のトップダウン?
- 9. SwiftでScenekitの衝突検出を処理するにはどうすればよいですか?
- 10. rails3のモジュール名の衝突
- 11. PHPクラス名の衝突
- 12. 共有ライブラリ名の衝突
- 13. Doctrine 2:プロキシ名の衝突
- 14. Tastypieリソース名の衝突
- 15. 共有オブジェクト名の衝突
- 16. ノッチはミニクラフトでどのように衝突検出を行いますか?
- 17. テンプレートの衝突角度流星1.2
- 18. 仮想関数とテンプレートの衝突
- 19. Django:なぜいくつかのモデルフィールドは互いに衝突しますか?
- 20. どのようにJavascriptの衝突を作る?
- 21. 衝突検出が確実に1回の衝突でトリガーされるようにします
- 22. Djangoテンプレートの解析はどのように行いますか?
- 23. 軸合わせバウンディングボックスの衝突:どの辺が衝突しているか
- 24. Pythonのモジュールシステム内で命名の衝突を避けるにはどうすればよいですか?
- 25. コロナ物理エンジン衝突イベントオブジェクト
- 26. Android/DalvikVMはどのようにハンドラを処理しますか?
- 27. HandlerThreadはどのようにメッセージを処理しますか?
- 28. PageRankアルゴリズムはどのようにリンクを処理しますか?
- 29. マルチビューコントロールはどのようにViewstateを処理しますか?
- 30. CouchDBはどのようにデータを処理しますか?
テンプレートが一度読み込まれ、起動時にキャッシュされていれば不思議で、Djangoが名前を共有する複数のテンプレートを見つけた場合のDjangoの動作に影響します。 –