django - 已安装的应用 - 错误:没有名为 apps.finance 的模块

0 投票
1 回答
3071 浏览
提问于 2025-04-17 13:44

我想改变一下我的应用程序所在的目录。我的 Django 项目在这个目录下:

'/home/user/djcode/dev/myproject'

当我开始这个项目时,我的应用程序是在这个目录下:

'/home/user/djcode/dev/myproject'

在 settings.py 文件中,我还添加了这一行(在 INSTALLED_APPS 里):

'finance',

这样一切都正常运作。

后来我想改变我的应用程序目录,所以我把应用程序移动到了:

'/home/user/djcode/dev/myproject/myproject/apps' 

然后在 settings.py 中,我把 'finance' 改成了这一行(在 INSTALLED_APPS 里):

'myproject.apps.finance'

但是当我运行 python manage.py runserver 命令时,出现了这个错误:

Error: No module named apps.finance

我知道我可以直接添加路径到我的应用程序所在的位置,这样应该能解决问题。但有没有办法在不添加 .pth 文件的情况下指定这个路径呢?

我的意思是,如果 Python 知道 /home/user/djcode/dev/myproject 这个路径,为什么它找不到 /home/user/djcode/dev/myproject/myproject/apps 呢?

也许我在 installed_apps 中指定得不对?

另外,我在这个项目中使用了 virtualenv,所以 Django 是通过 virtualenv 安装的。但我觉得这没关系,因为它能找到我的项目位置,但如果应用程序在更低的目录层级下就找不到了,真是让人困惑。

1 个回答

2

或者可能是循环导入的问题?或者你在应用的目录里没有一个init.py文件?

撰写回答