Ошибка Django 'ModuleNotFoundError: Нет модуля с именем 'ocore'

Новичок в Django и только начал создавать новый проект, следуя учебнику.

Я создал виртуальную среду следующим образом:

pip install virtualenv

virtualenv myproject_3_7_3

Затем я активирую виртуальный env и устанавливаю Django следующим образом:

cd myproject_3_7_3

source bin/activate

pip install django

Это успешно устанавливает Django версии 3.2.10, затем я активирую проект, добавляю некоторую структуру папок и создаю приложение, используя следующие команды:

django-admin startproject myproject

cd myproject

mkdir apps

mkdir apps/core

python manage.py startapp core apps/core

Затем я открываю VSCode и вижу проект и все папки/файлы по умолчанию.

Для запуска приложения я запускаю:

python manage.py startapp core apps/core

Но я сразу же получаю следующую ошибку в терминале.

Traceback (most recent call last):
  File "/Users/myuser/myproject_3_7_3/lib/python3.7/site-packages/django/apps/config.py", line 244, in create
    app_module = import_module(app_name)
  File "//anaconda3/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 965, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'ocore'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "manage.py", line 22, in <module>
    main()
  File "manage.py", line 18, in main
    execute_from_command_line(sys.argv)
  File "/Users/myuser/myproject_3_7_3/lib/python3.7/site-packages/django/core/management/__init__.py", line 419, in execute_from_command_line
    utility.execute()
  File "/Users/myuser/myproject_3_7_3/lib/python3.7/site-packages/django/core/management/__init__.py", line 395, in execute
    django.setup()
  File "/Users/myuser/myproject_3_7_3/lib/python3.7/site-packages/django/__init__.py", line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/Users/myuser/myproject_3_7_3/lib/python3.7/site-packages/django/apps/registry.py", line 91, in populate
    app_config = AppConfig.create(entry)
  File "/Users/myuser/myproject_3_7_3/lib/python3.7/site-packages/django/apps/config.py", line 250, in create
    app_config_class.__qualname__,
django.core.exceptions.ImproperlyConfigured: Cannot import 'ocore'. Check that 'apps.core.apps.OcoreConfig.name' is correct.

Исследование создаваемого apps.py показывает следующее содержимое:

from django.apps import AppConfig


class OcoreConfig(AppConfig):
    default_auto_field = 'django.db.models.BigAutoField'
    name = 'ocore'

Это отличается от файла apps.py, приведенного в руководстве, поэтому моя первоначальная мысль заключалась в том, что это может быть связано с разницей версий, однако обширный поиск не дал никакой информации о том, что такое ocore или что означает эта ошибка.

Может ли кто-нибудь помочь мне решить эту проблему?

Орфографическая ошибка

Я попытался воспроизвести вашу ошибку.

При создании приложения вы ошибочно создали приложение с именем "ocore".

Но в settings.py

INSTALLED_APPS = [
   ...
   apps.core, # This is what you added I presume
   apps.ocore, # this must be done
]

Имя созданного приложения должно совпадать с именем в массиве INSTALLED_APPS, присутствующем в settings.py из django.

Еще одна вещь "startapp" только создает структуру каталогов для вас с необходимыми файлами и конфигурацией. Он не будет запускать проект, для этого вам нужно сделать python manage.py runserver

Вернуться на верх