Прежде всего: я хорошо знаю, что есть несколько вопросов с этой точной ошибкой, но я прочитал по крайней мере 20 из них, и ни один не помог мне исправить эту ошибку.
Как говорится, проблема выглядит следующим образом:
Я создал каталог с именем 'api' внутри моего Django проекта для хранения всего кода, связанного с API. Внутри этой директории я создал приложение под названием «profile_app». Там в файле models.py я определил класс UserProfile, чтобы переопределить класс Django UserProfile по умолчанию. Затем я добавил приложение в переменную INSTALLED_APPS в файле settings.py и переопределил класс UserProfile по умолчанию следующей строкой:
AUTH_USER_MODEL = 'profiles_api.UserProfile'
Наконец я попытался выполнить миграции, чтобы увидеть новую таблицу в базе данных. и вот когда произошла ошибка.
Это трассировка стека:
(venv) C:\Users\Juan Pablo\Documents\backend\backend_django>python manage.py makemigrations
Traceback (most recent call last):
File "manage.py", line 21, in <module>
main()
File "manage.py", line 17, in main
execute_from_command_line(sys.argv)
File "C:\Users\JUANPA~1\Envs\venv\lib\site-packages\django\core\management\__init__.py", line 401, in execute_from_command_line
utility.execute()
File "C:\Users\JUANPA~1\Envs\venv\lib\site-packages\django\core\management\__init__.py", line 377, in execute
django.setup()
File "C:\Users\JUANPA~1\Envs\venv\lib\site-packages\django\__init__.py", line 24, in setup
apps.populate(settings.INSTALLED_APPS)
File "C:\Users\JUANPA~1\Envs\venv\lib\site-packages\django\apps\registry.py", line 91, in populate
app_config = AppConfig.create(entry)
File "C:\Users\JUANPA~1\Envs\venv\lib\site-packages\django\apps\config.py", line 90, in create
module = import_module(entry)
File "C:\Users\JUANPA~1\Envs\venv\lib\importlib\__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 973, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'api'
Как вы можете видеть из трассировки, я работаю в виртуальной среде, и это то, что я установил :
asgiref==3.2.3
Django==3.0.3
djangorestframework==3.11.0
mysqlclient==1.4.6
pytz==2019.3
sqlparse==0.3.0
Это структура проекта:
![](https://i.stack.imgur.com/8rIJq.png)
Файл init .py внутри Сначала не было каталога api, но после прочтения некоторых ответов я создал каталог Python вместо каталога, а затем появился этот файл.
Наконец, это то, что переменная INSTALLED_APPS в файле settings.py выглядит так:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'rest_framework',
'rest_framework.authtoken',
'api.profiles_api',
]
Я пробовал следующее:
'examples_api' вместо 'api.profiles_api' в INSTALLED_APPS
AUTH_USER_MODEL = 'api.profile s_api.UserProfile 'вместо' profile_api.UserProfile '
Создание пакета Python с именем api вместо каталога.
Любая помощь очень ценится. Извините за длинный вопрос, но я хотел быть максимально точным.