Я следую учебному курсу Python Cra sh 2e. Я столкнулся с проблемой с функцией makemigrations из Django главы (18). Я создал первое приложение, используя startapp, а затем попытался вызвать makemigrations. Он возвращает ModuleNotFoundError, но дает имя приложения с суффиксом «django». Я сделал следующее:
python -m venv ll_env
ll_env\Scripts\activate
pip install django (installed asgiref-3.2.3 django-3.0.3 pytz-2019.3 sqlparse-0.3.1)
django-admin startproject learning_log .
python manage.py migrate
python manage.py runserver
Эта часть работает без сбоев, веб-сервер работает, все отлично. Затем я открыл еще один терминал (на уровне проекта) и набрал:
ll_env\Scripts\activate
python manage.py startapp learning_logs
<edited settings.py to include 'learning_logs'>
python manage.py makemigrations learning_logs
В результате 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\Admin\PycharmProjects\djangoproj\ll_env\lib\site-packages\django\core\management\__init__.py", line 401, in execute_from_command_line
utility.execute()
File "C:\Users\Admin\PycharmProjects\djangoproj\ll_env\lib\site-packages\django\core\management\__init__.py", line 377, in execute
django.setup()
File "C:\Users\Admin\PycharmProjects\djangoproj\ll_env\lib\site-packages\django\__init__.py", line 24, in setup
apps.populate(settings.INSTALLED_APPS)
File "C:\Users\Admin\PycharmProjects\djangoproj\ll_env\lib\site-packages\django\apps\registry.py", line 91, in populate
app_config = AppConfig.create(entry)
File "C:\Users\Admin\PycharmProjects\djangoproj\ll_env\lib\site-packages\django\apps\config.py", line 116, in create
mod = import_module(mod_path)
File "C:\Users\Admin\AppData\Local\Programs\Python\Python38-32\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 961, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
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 'learning_logsdjango'
settings.py включает мой модуль:
INSTALLED_APPS = [
'learning_logs'
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
Мой каталог:
projectFolder/
learning_log/
__init__.py
settings.py
urls.py
wsgi.py
learning_logs/
migrations/
__init__.py
__init__.py
admin.py
apps.py
models.py
tests.py
views.py
ll_env/
include/
Lib/
Scripts/
venv/
db.sqlite3
manage.py
Я работаю на Windows 10 x64, Pycharm Community 2019.2.3, Python 3.8.
Что я пробовал: 1) смена имени 2) установка предыдущей версии django (2.2.11) 3) вызов 'makemigrations' вместо 'makemigrations learning_logs'
Буду признателен за любую помощь, так как я совершенно запутался в этом.