我正在阅读Django 1.4之后的http://www.djangobook.com/en/2.0/chapter04.html,但我使用Django 1.6,所以如何在Django 1.6中设置模板目录,因为settings.py没有TEMPLATE_DIRS变量,为什么开发人员改变了这个? 提前谢谢。
答案 0 :(得分:18)
添加到settings.py
from os.path import join
TEMPLATE_DIRS = (
join(BASE_DIR, 'templates'),
)
答案 1 :(得分:5)
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__))
答案 2 :(得分:3)
根据Django教程,您应该添加
TEMPLATE_DIRS = [os.path.join(BASE_DIR, 'templates')]
到您的 settings.py 文件(因此它是list
而不是tuple
)
答案 3 :(得分:2)
应该是
TEMPLATE_DIRS = (
os.path.join(BASE_DIR, 'templates'),
)
或者您可能会看到如下错误:
DeprecationWarning:TEMPLATE_DIRS设置必须是元组。请 修复您的设置,因为现在不推荐使用自动更正 self._wrapped =设置(settings_module)
对于django> = 1.6,它是tuple
答案 4 :(得分:1)
使用下面给出的代码段。将其粘贴到settings.py文件的最后一个。
from os.path import join
TEMPLATE_DIRS = (
join(BASE_DIR, 'templates'),
)
此处BASE_DIR
表示项目目录,而不是settings.py所在的内部目录。创建一个名为" templates"的目录。 ({1}}内的(不带引号)并将模板存储在该目录中。 Django将使用BASE_DIR
函数将模板目录加入BASE_DIR
。希望这会有所帮助。
答案 5 :(得分:1)
当我发布https://stackoverflow.com/a/40145444/6333418时,您必须将其添加到TEMPLATES下的settings.py内的DIR列表中。
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',
],
},
},
]