为了能够在django中找到模板文件,每个人都说你应该像这样修改settings.py:
TEMPLATES = [{
'DIRS': [os.path.join(BASE_DIR, 'templates')]
}]
但我发现这也有效:
TEMPLATES = [{
'DIRS': ['templates'],
}]
我的问题是它们之间有什么区别。为什么没有人推荐'DIRS': ['templates']
?
答案 0 :(得分:1)
如果您将'templates'
之类的相对路径传递给DIRS
设置,则会将其解释为相对于当前目录,例如运行./manage.py runserver
时所在的目录。
如果您尝试从其他目录运行服务器,则此路径可能指向不存在的目录,并且您的页面将不会呈现。
如果您传递绝对路径,那么无论工作目录如何,您的应用都将正常工作。
现在,如何获得绝对路径?采取项目的绝对路径(BASE_DIR
)并在最后添加templates
- 这是os.path.join
为您所做的。