我是python的新手。我正在使用带有django 1.5.1的python 2.7.1。
当我把代码
TEMPLATE_DIRS = [os.path.join(BASE_DIR, 'templates')]
在我的settings.py中 终端显示以下错误。
File "/home/pipo/Desktop/mysite/mysite/settings.py", line 116, in <module>
[os.path.join(BASE_DIR, 'templates')]
NameError: name 'os' is not defined
有人可以告诉我出现此错误的可能原因是什么? 谢谢!
答案 0 :(得分:7)
最后我得到了答案
修复此错误
File "/home/myUser/path/to/project/projectName/projectName/settings.py",
line 116, in <module>
os.path.join(BASE_DIR, 'templates')
NameError: name 'os' is not defined
我必须在settings.py
的开头添加这一行 import os
然后我收到此错误:
File "/home/myUser/path/to/project/projectName/projectName/settings.py",
line 116, in <module>
os.path.join(BASE_DIR, 'templates')
NameError: name 'BASE_DIR' is not defined
要解决此问题,请将此行添加到settings.py
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
这将返回当前文件路径。您可能需要相应地更改os.path.join(BASE_DIR, 'templates')
部分。
答案 1 :(得分:0)
修复错误:
File "C:\Users\shahi\telusko_projects\telusko\telusko\settings.py", line 57, in <module>
'DIRS': [os.path.join(BASE_DIR,'templates')],
NameError: name 'os' is not defined
只需在 settings.py
的顶部添加这一行:
from pathlib import Path,os
答案 2 :(得分:0)
这就是我让它工作的方式:
import os
...
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
...
TEMPLATES = [
{
...
'DIRS': [os.path.join(BASE_DIR, 'core/templates')],
...
},]