この質問に対する勝利の答えと、私がインターウェブで読んだ他のすべてのことに従って、DjangoテンプレートをmySubAppX
外部のフォルダーに配置する可能性がありますmySubAppX
-最も一般的myProject/templates/mySubAppX
には、テンプレートは実際のディレクトリの兄弟mySubAppX
であり、アプリが保存されます。
なんで?特に、サブアプリケーションをモジュール式にする場合、なぜですか?
それはルールではなく、依存します。アプリ内ソリューションのサポーターもいます。
一元化されたテンプレートの方法では、テンプレートの検索は高速であり、テンプレート名は;templates/app/template_name
と同じくらい簡単です。app/item.html
ディレクトリ全体をメモリディスクなどの場所に簡単に管理/移動することもできます。
一方、アプリ内の方法、またははapp/templates/app_template_name
、app/templates/app/template_name
パッケージ化されたアプリの方がうまく機能します。編集に関して、私の同僚は、とにかく、アプリ内ソリューションがEclipseでの開発に便利であることに気づきました。
okm
言ったように、それはルールではありません。Djangoは常に最初にTEMPLATE_DIRS
ディレクトリを調べてテンプレートを見つけ、次にapps/packagesディレクトリにフォールバックしてテンプレートを探します。そのため、アプリテンプレートを配置して、すばやく見つけられるようにすることをお勧めします。
テンプレートは引き続きに配置できますmySubAppX
。
project/apps/mySubAppX/templates
そして、効率的にするために、このパスをTEMPLATE_DIRS
設定に追加して、Djangoが最初にテンプレートを見つけるようにします。
TEMPLATE_DIRS = (
'project/apps/mySubAppX/templates',
#other apps template directories
)