错误介绍
在django项目中,当你从非项目文件夹导包时,在终端运行该文件报无该模块时,是否很困惑,因为当你直接重编辑器pycharm运行又是正常的。
错误情况
from xxx import xx
ModuleNotFoundError: No module named "xxx"
错误原因
直接导非项目文件里的包,在没有设置环境路径的情况下,在终端运行时,是找不到该路径下的文件夹的,需要先将文件夹加入系统环境路径中。
解决错误
import sys
import os
base_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(base_dir)
解决Django中直接脚本运行并可以操作模型
import sys
import os
import django
base_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(base_dir)
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "xxxx.settings")
django.setup()