2016-08-11 3 views
1

Я пытаюсь настроить браузерные страницы API-интерфейса Django REST из моего приложения, как показано на рисунке here, но шаблоны для детей, похоже, игнорируются (кстати, это также происходит при попытке расширить базовый шаблон базы данных DRF). Это соответствующая часть файла дерева:Шаблоны Django не распространяются должным образом

├── <app> 
│   ├── templates 
│   │   ├── <app> 
│   │   │   └── index.html 
│   │   ├── rest_framework 
│   │   | └── api.html 
│ │ └── rest_framework_docs 
│ │  └── docs.html 

И хотя api.html начинается с {% extends "rest_framework/base.html" %} изменений, внесенных в соответствующие блоки кода (например, bootstrap_theme) игнорируются, и шаблон по умолчанию отображается вместо. Что мне не хватает? Наиболее близкие вопросы относятся к ошибкам в urls.py, но я считаю, что это не так

PS: Это на Django 1.9.8

+0

Установили ли вы [APP_DIRS] (https://docs.djangoproject.com/en/1.9/ref/settings/#app-dirs) значение 'True'? Это может быть проблема. –

+0

Да, он поставляется с 'True' по умолчанию, так как Django 1.8+ я верю, поэтому проблема в другом месте, к сожалению. – JavierAcost

ответ

0

Я боролся с той же проблемой, на некоторое время, и я установил ее, добавив путь base_dir к шаблонам Сыроватской в ​​settings.py, как это:

TEMPLATES = [ 
    { 
     'BACKEND': 'django.template.backends.django.DjangoTemplates', 
     'DIRS': [ 
      BASE_DIR, 
      os.path.join(BASE_DIR, 'templates') 
     ], 
     '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', 
      ], 
     }, 
    }, 
] 

Надеется, что это помогает, в противном случае, если вы можете поделиться дополнительной информацией о вашем проекте, может быть, я могу помочь больше;) (я имею в виду : settings.py, urls, полная структура проекта ...).

0

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

'DIRS': [os.path.join(BASE_DIR, '../templates')] 

Все рассуждения для меня был тот факт, что я поставил шаблоны в другом месте я тоже говорил.

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