2016-09-15 3 views
0

Можно ли установить приоритет загрузки шаблона проекта django, чтобы он в первую очередь загружал папку «шаблоны» приложений и после этого «шаблоны» проекта. Если шаблон существует в папке приложения, используйте его. Если он не существует в папке приложения, попробуйте загрузить из папки проекта.Настройка загрузчика шаблона Django

Или это не обычный способ загрузки шаблонов? Я спрашиваю, потому что я вижу в исключении, что Django пытается загрузить первыми из всех глобальных шаблонов:

Template-погрузчик посмертного

Джанго попытались загрузками этих шаблонов, в следующем порядке:

Использование двигателя Джанго:

  • 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: \ MyProjects \ My-сайта \ Src \ \ шаблоны сайта \ home.html (Источник не существует)

ответ

2

Обновите свою настройку TEMPLATES и поставьте загрузчик app_directories перед загрузчиком filesystem.

Если у вас есть 'APP_DIRS': True, вам необходимо удалить это и добавить опцию loaders.

Например, вы можете изменить настройки TEMPLATES на:

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

Спасибо за ваш быстрый и полезный ответ! –

Смежные вопросы