Я читаю http://www.djangobook.com/en/2.0/chapter04.html, который следует за Django 1.4, но я использую Django 1.6, поэтому как установить каталог шаблонов в Django 1.6 в качестве настроек. py не имеет переменной TEMPLATE_DIRS и почему разработчики изменили это? Спасибо заранее.
TEMPLATE_DIRS отсутствует в settings.py(django 1.6)
Ответ 1
Добавить в settings.py
from os.path import join
TEMPLATE_DIRS = (
join(BASE_DIR, 'templates'),
)
Ответ 2
TEMPLATE_DIRS = (
os.path.join(BASE_DIR, 'templates'),
)
Добавьте это в settings.py
. В django 1.6 BASE_DIR
определено. В противном случае определите BASE_DIR
как
import os
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
Ответ 3
Согласно учебнику Django, вы должны добавить
TEMPLATE_DIRS = [os.path.join(BASE_DIR, 'templates')]
в файл settings.py(так что это list
не a tuple
)
Ответ 4
Это должно быть
TEMPLATE_DIRS = (
os.path.join(BASE_DIR, 'templates'),
)
Или вы можете увидеть ошибку, подобную этой:
Устаревшее предупреждение: параметр TEMPLATE_DIRS должен быть кортежем. пожалуйста исправить свои настройки, так как автоматическая коррекция устарела.
self._wrapped = Настройки (settings_module)
Для django >= 1.6 это tuple
Ответ 5
Используйте приведенный ниже фрагмент кода. Вставьте его в последний файл settings.py.
from os.path import join
TEMPLATE_DIRS = (
join(BASE_DIR, 'templates'),
)
Здесь BASE_DIR
означает ваш каталог проекта, а не внутренний каталог, где находится параметр settings.py. Создайте каталог с именем "templates" (без кавычек) внутри BASE_DIR
и сохраните ваши шаблоны внутри этого каталога. Django присоединится к каталогу шаблонов к BASE_DIR
с помощью функции os.path.join()
. Надеюсь, это поможет.
Ответ 6
Когда я разместил fooobar.com/info/411104/..., вы должны добавить его в список DIR, который находится внутри settings.py в разделе TEMPLATES.
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['[project name]/templates'], # Replace with your project name
'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',
],
},
},
]