2015-04-13 2 views
2

Я структурировал свое приложение Django (Django 1.8), как показано ниже. Когда я пробую шаблон в app1 или app2 extends base.html в base.html моего приложения, я получаю эту ошибку.TemplateDoesNotExist в папке проекта django 1.8

TemplateDoesNotExist at/
base.html 
Error during template rendering 

In template /myProject/project_folder/app1/templates/app1/base.html, error at line 1 
{% extends "base.html" %} 

Вот структура моего проекта

/projekt_folder 
    template 
     base.html 
    /app1 
     /template 
      base.html <-- {% extends "base.html" %} 
    /app2 
     /template 
      base.html <-- {% extends "base.html" %} 
+0

Работает ли {% extends "template/base.html"%}? – user4759923

+0

@ user4759923 № – mark

+0

Какая у вас настройка TEMPLATES? – user4759923

ответ

16

Вы должны сказать Django что дополнительное расположение папки шаблона (projekt_folder/template), который не находится под установленными приложениями, добавьте следующие строки в верхней части ваши настройки файла:

import os 

PACKAGE_ROOT = os.path.abspath(os.path.dirname(__file__)) 

Затем установите DIRS в TEMPLATES настройки вар:

TEMPLATES = [ 
    { 
     'BACKEND': 'django.template.backends.django.DjangoTemplates', 
     'DIRS': [os.path.join(PACKAGE_ROOT, 'template')], 
     'APP_DIRS': True, 
     'OPTIONS': { 
      'context_processors': [ 
       'django.template.context_processors.debug', 
       'django.template.context_processors.request', 
       'django.contrib.auth.context_processors.auth', 
       'django.contrib.messages.context_processors.messages', 
      ], 
     }, 
    }, 
] 
+1

Большое спасибо :) – mark

+0

Добро пожаловать :) –

+0

Постепенно игнорируется кортеж 'TEMPLATE_DIRS', когда у вас есть список' TEMPLATES'. –