Приложения в подпапке в 1.7
У меня есть структура проектной папки, как это:
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
2 ответа
Решение
Является ли папка приложений на вашем PYTHONPATH
?
Вы можете добавить его в файл настроек, поставив это под BASE_DIR
:
import sys
sys.path.append(os.path.abspath("applications"))
На самом деле для этого есть нативное решение Django. Из документов:
Многие команды принимают список "имен приложений". "Имя приложения" - это базовое имя пакета, содержащего ваши модели. Например, если ваш INSTALLED_APPS содержит строку "mysite.blog", приложение называется blog.