Джанго говорит: «Нет модуля с именем« блог »

Я получаю сообщение "ModuleNotFoundError: No module named 'blog'" при добавлении моего приложения в блог в раздел INSTALLED_APPS файла settings.py . Я решил, что это имеет какое-то отношение к тому, как я добавил приложение «blog» в INSTALLED_APPS. Когда я удаляю ссылку «blog» из INSTALLED_APPS ошибка исчезает. Похоже, что Django не может найти каталог для моего приложения в блоге?

Я сделал одну вещь по-другому, и это использование:

 python manage.py startapp blog /myproject 

Разница здесь указывает каталог /myproject и не используется:

 python manage.py startapp blog 

Что поместит его в корневой каталог myproject . Я не хотел добавлять каталог приложений в корневую папку, поэтому я остаюсь более организованным. Но похоже, что Django это не нравится, или я не ссылаюсь на это правильно в разделе INSTALLED_APPS ?

Каталог моего проекта выглядит следующим образом:

 myproject/ ├── myproject │  ├── __init__.py │  ├── __pycache__ │  │  ├── __init__.cpython-36.pyc │  │  ├── settings.cpython-36.pyc │  │  ├── urls.cpython-36.pyc │  │  └── wsgi.cpython-36.pyc │  ├── blog │  │  ├── __init__.py │  │  ├── admin.py │  │  ├── apps.py │  │  ├── migrations │  │  │  └── __init__.py │  │  ├── models.py │  │  ├── tests.py │  │  └── views.py │  ├── settings.py │  ├── urls.py │  └── wsgi.py ├── db.sqlite3 └── manage.py 

Внутри settings.py у меня установлен blog приложения:

 INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'blog', ] 

Django должен иметь возможность импортировать ваше приложение, обычно это означает включение полного пути относительно корневого каталога 'myproject.blog' .

Вы можете добавить <full_path_to_your_project>/myproject/myproject в PYTHONPATH чтобы вы могли импортировать blog , но я бы не рекомендовал его

Структура каталогов необычна. Более обычный и тот, который соответствует вашему приложению, называемому блогом, будет

 myproject/ ├── myproject │ ├── __init__.py │ ├── __pycache__ │ │ ├── __init__.cpython-36.pyc │ │ ├── settings.cpython-36.pyc │ │ ├── urls.cpython-36.pyc │ │ └── wsgi.cpython-36.pyc ├── blog │ ├── __init__.py │ ├── admin.py │ ├── apps.py │ ├── migrations │ │ └── __init__.py │ ├── models.py │ ├── tests.py │ └── views.py │ ├── settings.py │ ├── urls.py │ └── wsgi.py ├── db.sqlite3 └── manage.py