【发布时间】:2013-01-10 05:55:35
【问题描述】:
我想更改我的应用程序所在的目录。 我的 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 中,我将“财务”更改为这一行(在 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 安装的。但我认为它不相关,因为它找到了我的项目所在的位置,但如果它们位于较低的目录级别,则无法找到应用程序。
【问题讨论】:
-
或者它可能是循环导入?或者你可能没有
__init__.py in theapps` 目录 -
哦.. 我怎么会忘记
__init__.py.. 就是这样。非常感谢。现在它可以工作了:) -
@aychedee 您可以将其发布为答案,如果您愿意,我会接受。