Структура каталога проекта 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