如何在Django中导入自定义模块?解决同目录metrics.py导入报错
解决同一目录下自定义模块导入报错的问题
先排查基础问题
- 确认
metrics.py和views.py确实在同一个目录下,没有被放到子文件夹里,也没有文件名拼写错误(比如把metrics写成metircs,或者文件后缀是.py.txt这种系统隐藏的错误后缀)。 - 检查项目里有没有和
metrics重名的文件、文件夹,或者你安装过同名的第三方包——如果有,直接把你的自定义模块改个名字(比如app_metrics.py),再用import app_metrics导入就行。
针对Django项目的正确导入方式
既然用到了views.py,大概率是Django项目,同一app下的模块推荐用相对导入:
# 在views.py里这么写 from . import metrics
或者直接用app的包名导入(假设你的app叫myapp):
from myapp import metrics
普通Python项目的补救方法
如果是普通Python脚本项目,也可以手动把当前目录加入Python的搜索路径,在views.py最开头加这段代码:
import sys import os # 将当前文件所在目录添加到Python路径 sys.path.append(os.path.dirname(os.path.abspath(__file__))) # 之后正常导入 import metrics
内容的提问来源于stack exchange,提问作者kamlesh choudhary
相关产品推荐
相关产品推荐

