我有一个像这样的项目文件夹结构:
project
applications
__init__.py
app1
app2
app3
project
__init__.py
settings.py
在我的settings.py中我试图导入这样的应用程序:
INSTALLED_APPS = (
'django.contrib.admin',
...
'applications.app1',
'applications.app2',
'applications.app3',
)
但是,如果我尝试迁移其中一个应用,我会收到此错误:
./manage.py makemigrations applications.app1
App 'applications.app1' could not be found. Is it in INSTALLED_APPS?
可能有什么不对?这种设置过去常用于django 1.6
答案 0 :(得分:6)
实际上有一个Django原生解决方案。来自docs:
许多命令都会列出“应用名称”。“应用名称”是包含模型的包的基本名称。例如,如果您的INSTALLED_APPS包含字符串'mysite.blog',则应用名称为blog。
答案 1 :(得分:-1)
应用程序文件夹是PYTHONPATH
吗?
您可以将其添加到设置文件中,方法是将其放在BASE_DIR
:
import sys
sys.path.append(os.path.abspath("applications"))