4

この質問に対する勝利の答えと、私がインターウェブで読んだ他のすべてのことに従って、DjangoテンプレートをmySubAppX外部のフォルダーに配置する可能性がありますmySubAppX-最も一般的myProject/templates/mySubAppXには、テンプレートは実際のディレクトリの兄弟mySubAppXであり、アプリが保存されます。

なんで?特に、サブアプリケーションをモジュール式にする場合、なぜですか?

4

2 に答える 2

10

それはルールではなく、依存します。アプリ内ソリューションのサポーターもいます。

一元化されたテンプレートの方法では、テンプレートの検索は高速であり、テンプレート名は;templates/app/template_nameと同じくらい簡単です。app/item.htmlディレクトリ全体をメモリディスクなどの場所に簡単に管理/移動することもできます。

一方、アプリ内の方法、またははapp/templates/app_template_nameapp/templates/app/template_nameパッケージ化されたアプリの方がうまく機能します。編集に関して、私の同僚は、とにかく、アプリ内ソリューションがEclipseでの開発に便利であることに気づきました。

于 2012-11-24T05:58:10.110 に答える
4

okm言ったように、それはルールではありません。Djangoは常に最初にTEMPLATE_DIRSディレクトリを調べてテンプレートを見つけ、次にapps/packagesディレクトリにフォールバックしてテンプレートを探します。そのため、アプリテンプレートを配置して、すばやく見つけられるようにすることをお勧めします。

テンプレートは引き続きに配置できますmySubAppX

project/apps/mySubAppX/templates

そして、効率的にするために、このパスをTEMPLATE_DIRS設定に追加して、Djangoが最初にテンプレートを見つけるようにします。

TEMPLATE_DIRS = (
    'project/apps/mySubAppX/templates',
    #other apps template directories
)
于 2012-11-24T12:55:02.197 に答える