首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么'DIRS':['templates']也有效?

为什么'DIRS':['templates']也有效?
EN

Stack Overflow用户
提问于 2018-03-20 21:26:15
回答 1查看 84关注 0票数 0

为了能够在django中找到模板文件,每个人都说你应该像这样修改settings.py:

代码语言:javascript
复制
TEMPLATES = [{
    'DIRS': [os.path.join(BASE_DIR, 'templates')]
}]

但我发现这也是可行的:

代码语言:javascript
复制
TEMPLATES = [{
    'DIRS': ['templates'],
}]

我的问题是,它们之间的区别是什么。为什么没有人推荐'DIRS': ['templates']

EN

回答 1

Stack Overflow用户

发布于 2018-03-20 21:44:10

如果您将'templates'之类的相对路径传递给DIRS设置,它将被解释为相对于当前目录,例如运行./manage.py runserver时所在的目录。

如果您尝试从不同的目录运行服务器,则此路径可能指向不存在的目录,并且您的页面将不会呈现。

如果您传递的是绝对路径,则无论工作目录是什么,您的应用程序都将正常工作。

现在,如何获得绝对路径?采用项目的绝对路径(BASE_DIR)并在末尾添加templates -这就是os.path.join为您做的事情。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49385509

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档