2016-09-15 18 views
0

djangoプロジェクトのテンプレート読み込みの優先順位を設定して、まずアプリケーションの "templates"フォルダをロードし、その後にプロジェクト "templates"を読み込むように設定できますか?テンプレートがappフォルダに存在する場合は、それを使用します。アプリケーションフォルダに存在しない場合は、プロジェクトフォルダから読み込みます。Djangoプロジェクトテンプレートローダーの設定

または、テンプレートを読み込む通常の方法ではありませんか? 私は例外で見るので、私はDjangoはすべてのグローバルテンプレートの最初のロードしようとすることを、頼む:

テンプレート・ローダーは、Djangoはこの順で、これらのテンプレートをロードしようとした

を死後

  • django.template.loaders.filesystem.Loader::D:\ MyProjectsで私の-ウェブサイト\ \のsrc \ tempにエンジンジャンゴを使用して

    lates \ home.html(ソースは存在しません)

  • django.template.loaders.app_directories.Loader:C:¥User¥Python27¥lib¥site-packages¥django¥contrib¥admin¥templates¥home.html (ソースは存在しません)

  • django.template.loaders.app_directories.Loader:C:¥User¥Python27¥lib¥site-packages¥django¥contrib¥auth¥templates¥home.html(ソースは存在しません)
  • django.template.loaders.app_directories.Loader:D:home.html \私の-ウェブサイトの\ SRC \サイト\テンプレート\ \ MyProjectsで(ソースが存在しない)

答えて

2

TEMPLATESの設定を更新し、ローダーapp_directoriesをローダーfilesystemの前に入れます。

現在、'APP_DIRS': Trueがある場合はこれを削除し、loadersオプションを追加する必要があります。あなたの迅速で親切な答えのため

TEMPLATES = [{ 
    'BACKEND': 'django.template.backends.django.DjangoTemplates', 
    'DIRS': [os.path.join(BASE_DIR, 'templates')], 
    'OPTIONS': { 
     'loaders': [ 
      'django.template.loaders.app_directories.Loader', 
      'django.template.loaders.filesystem.Loader', 
     ], 
    }, 
}] 
+0

ありがとう:

はたとえば、あなたはあなたにTEMPLATES設定を変更することができます! –