( django.core.exceptions.ImproperlyConfigured: Cannot import 'apps.accounts'. Check that 'mysite.apps.accounts.apps.AccountsConfig.name' is correct
Question:
This is how it is structured
The code inside apps.py of accounts folder file is
from django.apps import AppConfig
class AccountsConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = "apps.accounts"
The code inside Settings is
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'mysite.apps.accounts',
]
I tried changing 'mysite.apps.accounts',
to 'mysite.apps.AccountsConfig',
and changing name = "apps.accounts"
to name = "accounts"
I am new to Django and was following How to make a website with Python and Django – MODELS AND MIGRATIONS (E04) tutorial. Around 16:17 is where my error comes up when I enter python manage.py makemigrate
to the vscode terminal
The error is
ImproperlyConfigured( django.core.exceptions.ImproperlyConfigured:
Cannot import ‘apps.accounts’. Check that
‘mysite.apps.accounts.apps.AccountsConfig.name’ is correct.
Someone please help me.
Answers:
To define new app you do not need to add it’s path just
app it’s name like that 'accounts'
note that app name is case sensitive
so your installed app became :
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'accounts',
]
The solution was quite counterintuitive. You have to delete the
class AccountsConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = "accounts"
from apps.pyaccountsappsmysite. Then run python manage.py makemigrations
and 2 new models ‘UserPersona
‘ and ‘UserProfile
‘ are created. the output in the terminal:
mysiteappsaccountsmigrations 001_initial.py
- Create model UserPersona
- Create model UserProfile
The name
in apps.py
should be the same (value) that you put in INSTALLED_APPS
(in settings.py
). That’s the correct one.
from django.apps import AppConfig
class AccountsConfig(AppConfig):
default_auto_field = "django.db.models.BigAutoField"
name = "mysite.apps.accounts"
settings.py
code:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'mysite.apps.accounts',
]
The name in AppConfig should be same as the name provided in Installed Apps i.e., it should be "mysite.apps.accounts".
This is how it is structured
The code inside apps.py of accounts folder file is
from django.apps import AppConfig
class AccountsConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = "apps.accounts"
The code inside Settings is
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'mysite.apps.accounts',
]
I tried changing 'mysite.apps.accounts',
to 'mysite.apps.AccountsConfig',
and changing name = "apps.accounts"
to name = "accounts"
I am new to Django and was following How to make a website with Python and Django – MODELS AND MIGRATIONS (E04) tutorial. Around 16:17 is where my error comes up when I enter python manage.py makemigrate
to the vscode terminal
The error is
ImproperlyConfigured( django.core.exceptions.ImproperlyConfigured:
Cannot import ‘apps.accounts’. Check that
‘mysite.apps.accounts.apps.AccountsConfig.name’ is correct.
Someone please help me.
To define new app you do not need to add it’s path just
app it’s name like that 'accounts'
note that app name is case sensitive
so your installed app became :
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'accounts',
]
The solution was quite counterintuitive. You have to delete the
class AccountsConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = "accounts"
from apps.pyaccountsappsmysite. Then run python manage.py makemigrations
and 2 new models ‘UserPersona
‘ and ‘UserProfile
‘ are created. the output in the terminal:
mysiteappsaccountsmigrations 001_initial.py
- Create model UserPersona
- Create model UserProfile
The name
in apps.py
should be the same (value) that you put in INSTALLED_APPS
(in settings.py
). That’s the correct one.
from django.apps import AppConfig
class AccountsConfig(AppConfig):
default_auto_field = "django.db.models.BigAutoField"
name = "mysite.apps.accounts"
settings.py
code:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'mysite.apps.accounts',
]
The name in AppConfig should be same as the name provided in Installed Apps i.e., it should be "mysite.apps.accounts".