使用django 1.7,他们添加了对配置类的支持,而不是以前版本中的魔术字符串。
我的项目在一个名为apps
的文件夹中有几个应用程序,该文件夹被添加到PYTHON_PATH
中。
在添加了一个简单的AppConfig
派生类之后,我遇到了许多导入错误,我想排除一些愚蠢的错误。
假设这个结构:
project_root/
my_project/
apps/
my_app/
another_app/
使用此配置是否正确?:
# my_app/apps.py
class MyAppConfig(AppConfig):
name = 'apps.my_app'
# my_app/__init__.py
default_app_config='apps.my_app.apps.MyAppConfig'
# settings.py
INSTALLED_APPS = (
...
'apps.myapp.apps.MyAppConfig'
...
)
当前项目在尝试导入models
(或tasks
或任何其他模块)时失败,发出:
from apps.my_app.tasks import AwesomeTask
ImportError: no module named my_app.tasks
我通过重命名apps文件夹解决了类似的问题。它在某种程度上与Django内部系统冲突。
我希望这能帮助到别人。