pycham中django项目中导入自定义模块报错

从进行数据迁移的时候,报的错。
从comment/models.py 导入blog/models.py中的Post类。刚接触这个,上网查了整不懂。。。图片说明图片说明图片说明
查的一般都说工作目录下搜不到这个目录,求大神告知

下面是我的报错
(venv) C:\Users\hty11\PycharmProjects\typeidea\typeidea>python manage.py makemigrations
C:\Users\hty11\PycharmProjects\typeidea\typeidea
C:\Users\hty11\PycharmProjects\typeidea
C:\Users\hty11\AppData\Local\Programs\Python\Python38-32\python38.zip
C:\Users\hty11\AppData\Local\Programs\Python\Python38-32\DLLs
C:\Users\hty11\AppData\Local\Programs\Python\Python38-32\lib
C:\Users\hty11\AppData\Local\Programs\Python\Python38-32
C:\Users\hty11\PycharmProjects\typeidea\venv
C:\Users\hty11\PycharmProjects\typeidea\venv\lib\site-packages
C:\Users\hty11\PycharmProjects\typeidea\venv\lib\site-packages\setuptools-40.8.0-py3.8.egg
C:\Users\hty11\PycharmProjects\typeidea\venv\lib\site-packages\pip-19.0.3-py3.8.egg
C:\Users\hty11\PycharmProjects\typeidea\typeidea\blog\models.py
Traceback (most recent call last):
File "manage.py", line 24, in
main()
File "manage.py", line 20, in main
execute_from_command_line(sys.argv)
File "C:\Users\hty11\PycharmProjects\typeidea\venv\lib\site-packages\django\core\management__init__.py", line 381, in execute_from_command_line
utility.execute()
File "C:\Users\hty11\PycharmProjects\typeidea\venv\lib\site-packages\django\core\management__init__.py", line 357, in execute
django.setup()
File "C:\Users\hty11\PycharmProjects\typeidea\venv\lib\site-packages\django__init__.py", line 24, in setup
apps.populate(settings.INSTALLED_APPS)
File "C:\Users\hty11\PycharmProjects\typeidea\venv\lib\site-packages\django\apps\registry.py", line 114, in populate
app_config.import_models()
File "C:\Users\hty11\PycharmProjects\typeidea\venv\lib\site-packages\django\apps\config.py", line 211, in import_models
self.models_module = import_module(models_module_name)
File "C:\Users\hty11\AppData\Local\Programs\Python\Python38-32\lib\importlib__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1014, in _gcd_import
File "", line 991, in _find_and_load
File "", line 975, in _find_and_load_unlocked
File "", line 671, in _load_unlocked
File "", line 783, in exec_module
File "", line 219, in _call_with_frames_removed
File "C:\Users\hty11\PycharmProjects\typeidea\typeidea\comment\models.py", line 7, in
from typeidea.blog.models import Post
ModuleNotFoundError: No module named 'typeidea.blog'

图片说明

C:\Users\hty11\PycharmProjects\typeidea\typeidea
C:\Users\hty11\PycharmProjects\typeidea
C:\Users\hty11\AppData\Local\Programs\Python\Python38-32\python38.zip
C:\Users\hty11\AppData\Local\Programs\Python\Python38-32\DLLs
C:\Users\hty11\AppData\Local\Programs\Python\Python38-32\lib
C:\Users\hty11\AppData\Local\Programs\Python\Python38-32
C:\Users\hty11\PycharmProjects\typeidea\venv
C:\Users\hty11\PycharmProjects\typeidea\venv\lib\site-packages
C:\Users\hty11\PycharmProjects\typeidea\venv\lib\site-packages\setuptools-40.8.0-py3.8.egg
C:\Users\hty11\PycharmProjects\typeidea\venv\lib\site-packages\pip-19.0.3-py3.8.egg
C:\Users\hty11\PycharmProjects\typeidea

1个回答

你的models.py应该放在typeidea下面,需要和你引用的库在同一个根目录下

biuubi
biuubi 回复家在田塍: 好吧,我试试
6 个月之前 回复
u011256698
家在田塍 回复biuubi: 你是加上了,但是很可能是你的两个文件夹重名导致的,兄弟,改名啊!
6 个月之前 回复
biuubi
biuubi 最下面是打印sys那个列表的输出,我看着加上了啊
6 个月之前 回复
biuubi
biuubi 我又试了试,你能看看我写的吗
6 个月之前 回复
biuubi
biuubi 是不是我写的有问题。。。。
6 个月之前 回复
u011256698
家在田塍 回复: 应该是这个,C:\Users\hty11\PycharmProjects\typeidea,你这命名居然是一样,我也是醉了,就不能换个名字吗
6 个月之前 回复
u011256698
家在田塍 回复biuubi: 你这那叫加进去了?sys中加入“C:\Users\hty11\PycharmProjects\typeidea\typeidea”才对啊
6 个月之前 回复
biuubi
biuubi 我在上面补充了报错,可以看看不,哥
6 个月之前 回复
biuubi
biuubi 我也查过,知道是这种情况,搞了好几天了,试过sys自定义,但还是报错,我在comment/modles.py 添加(就是需要导入模块的文件里) import sys sys.path.append(r"C:\Users\hty11\PycharmProjects\typeidea\typeidea\blog\models.py") for sy in sys.path: print(sy) from typeidea.blog.models import Post,我看也加进去了,但还是报错,好几天了,给我搞炸了快,就差锤电脑了。。。
6 个月之前 回复
u011256698
家在田塍 回复biuubi: 所以呢。到底是解决没解决?
6 个月之前 回复
biuubi
biuubi 我也查过,知道是这种情况,搞了好几天了,试过sys自定义,我都快崩溃了,
6 个月之前 回复
u011256698
家在田塍 回复biuubi: 还有通过sys自定义路径的方式,请参考,https://blog.csdn.net/pwc1996/article/details/52577148
6 个月之前 回复
u011256698
家在田塍 回复biuubi: a.py在b文件夹,c文件夹里有d.py,d.py里有个e模块,此时a.py中如果想from c.d import e,那么a.py和c文件夹都要在b文件夹里才可以。你现在相当于c不在b里,c在b的上层目录。
6 个月之前 回复
biuubi
biuubi 我也是在typeidea下加的几个app,但是这两个modles.py分别是两个app的,放在一块感觉别扭,怎么看他们是否在同一跟目录下啊,这个直接的看不是在同一个根目录下吗
6 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问