'DIRS':[os.path.join(BASE_DIR,'myfolder','templates'),],NameError:名称'os'未定义 - Django

时间:2017-04-07 22:16:15

标签: python django

我已经安装了python3,pip3并为我的项目创建了virtualenv,然后安装了django。我已经安装了所需的软件包,当我尝试在终端中运行此命令时 ./manage.py syncdb --settings=myfolder.settings.local

我收到此错误

'DIRS': [os.path.join(BASE_DIR, 'myfolder', 'templates'),], NameError: name 'os' is not defined 

我已阅读一些评论,在我的setting.py文件中添加import os并添加BASE_DIR = os.path.dirname(os.path.abspath(__file__))

我已经在我的设置文件中,但我仍然遇到同样的错误。 我该如何解决?

4 个答案:

答案 0 :(得分:2)

您必须在您的模板设置所在的settings.py文件中import os.path

import os
...

TEMPLATES = [
{
    'DIR':[os.path.join(BASE_DIR, 'templates_folder_name')],
    ...
}]

答案 1 :(得分:1)

在新版本中,您只需在 DIR 中输入模板文件夹名称

'DIRS':['模板']

答案 2 :(得分:0)

我遇到了同样的错误,所以我只是用 'DIRS': [os.path.join(BASE_DIR, 'myfolder', 'templates'),], 替换了 'DIR': ['templates'] 并且它起作用了。

您也可以通过在路径导入行之后直接写入 import os 来解决此错误。

答案 3 :(得分:0)

快速解决方法是在 settings.py 文件的顶部导入 os

# settings.py
import os # new
from pathlib import Path