Django: проблема с добавлением приложений в isntalled apps при их перемещении из корневого каталога

я использую django 4.2. проект работал, когда приложения находились в базовом каталоге (где находится manage.py), затем я создал каталог apps и перенес приложения в этот каталог, поэтому структура выглядит следующим образом (частично) :

/project/
        /manage.py
        /config/
             /settings/
                      / base.py # base settings file
                      / local.py
                      / testing.py
                      / __init__.py
            /__init__.py
      /requirements/
      /siteapps/
           /products/
                    / (file of products app including __init__.py 
           /accounts/
                    / (file of accounts app including __init__.py
           / (other apps)
           /__init__.py
          


а это связанный код, который я использую в настройках base.py :

BASE_DIR = Path(__file__).resolve().parent.parent.parent

print(f"base dir => {BASE_DIR}")
# output :
# base dir => /code 
# /code is base directory is docker container the project running in.
print("path =>", sys.path)
# output: 
# path =>  ['/code', '/usr/local/lib/python311.zip', '/usr/local/lib/python3.11', '/usr/local/lib/python3.11/lib-dynload', '/usr/local/lib/python3.11/site-packages']

INSTALLED APPS = [
 ... # other apps including django's and third parties,
 # LOCAL APPS
    "siteapps.accounts.apps.AccountsConfig",
    "siteapps.products.apps.ProductsConfig",
]

Ошибка, которую я получаю:

Traceback (most recent call last):
  File "/usr/local/lib/python3.11/threading.py", line 1045, in _bootstrap_inner
    self.run()
  File "/usr/local/lib/python3.11/threading.py", line 982, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/local/lib/python3.11/site-packages/django/utils/autoreload.py", line 64, in wrapper
    fn(*args, **kwargs)
  File "/usr/local/lib/python3.11/site-packages/django/core/management/commands/runserver.py", line 125, in inner_run
    autoreload.raise_last_exception()
  File "/usr/local/lib/python3.11/site-packages/django/utils/autoreload.py", line 87, in raise_last_exception
    raise _exception[1]
  File "/usr/local/lib/python3.11/site-packages/django/core/management/__init__.py", line 394, in execute
    autoreload.check_errors(django.setup)()
  File "/usr/local/lib/python3.11/site-packages/django/utils/autoreload.py", line 64, in wrapper
    fn(*args, **kwargs)
  File "/usr/local/lib/python3.11/site-packages/django/__init__.py", line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/usr/local/lib/python3.11/site-packages/django/apps/registry.py", line 91, in populate
    app_config = AppConfig.create(entry)
                 ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/django/apps/config.py", line 212, in create
    raise ImproperlyConfigured(
django.core.exceptions.ImproperlyConfigured: Cannot import 'accounts'. Check that 'siteapps.accounts.apps.AccountsConfig.name' is correct.

Итак, моя проблема в том, что когда приложения находились в базовом каталоге, я мог добавлять их в установленные приложения без проблем, но теперь я переместил их в каталог apps и постоянно получаю ошибку. Я пробовал разные способы, но все равно получаю ту же ошибку. Мой вопрос в том, как я могу организовать свои приложения, если я не могу переместить их из корневого каталога? Я очень новичок в django, любая помощь будет оценена по достоинству

Можете ли вы показать содержимое apps.py каждого из ваших приложений? Посмотрим, правильно ли оно настроено.

  1. также проверьте несоответствие прописных и строчных букв в ваших приложениях (учетных записях) apps.py
  2. .
Вернуться на верх