Структура каталога проекта Django

В структуре моего проекта django я хочу, чтобы все мои приложения django находились в отдельной папке Apps, но когда я включаю их в settings.py, возникает ошибка

raise ImproperlyConfigured( django.core.exceptions.ImproperlyConfigured: Cannot import 'TestApp'. Check that 'Apps.TestApp.apps.TestappConfig.name' is correct.

INSTALLED_APPS = [
    ...

    'Apps.TestApp'
]

Но

когда я включаю только TestApp, возникает no module named 'TestApp' ошибка.

INSTALLED_APPS = [
    ...

    'TestApp'
]

Если вы используете django версии < или = 2, то вы должны зарегистрировать ваше приложение как

INSTALLED_APPS = [
   ...
 'testapp.apps.TestappConfig' 
]

название приложения не должно быть в верхнем регистре, иначе вы получите ошибки.

если вы используете django > или = 3, то вы можете зарегистрировать свое приложение и с оригинальным именем.

Вы регистрируете свое приложение в стиле 'Title', что не разрешено.

Вы можете сделать следующее в вашем файле settings.py:

INSTALLED_APPS = [
  ... # other necessary apps here
  
  # include your local apps you are creating for your project here
  'testapp.apps.app_name', # assuming app_name is one of your apps
  'testapp.apps.another_app',
  'testapp.apps.third_custom_app'

]
<<<Затем в каждую из папок вашего приложения (где находятся ваши models.py, views.py, urls.py и т.д.) включите

файл, который следует следующей схеме:apps.py

from django.apps import AppConfig


class AppNameConfig(AppConfig): # note the formatting of this class name
    default_auto_field = "django.db.models.BigAutoField"
    name = "apps.app_name" # apps is the name of the directory where all your apps are located. 
                           # app_name is the name of the individual directory within your apps directory where this apps.py file is saved
Вернуться на верх