前提・実現したいこと
Djangoで自作したモデルを使用したいです。
setting.pyのINSTALLED_APPに自作アプリ「trackdict」を追記したところ、manage.pyのmigrate実行時にModuleNotFoundErrorが発生するようになってしまい、困っています。
エラーメッセージを見るに、INSTALLED_APPで指定したアプリにdjangoというサフィックスが入ってしまっているように見えます。
発生している問題・エラーメッセージ
(env1) C:\Users\Gonbei\Documents\GitHub\myproject>python manage.py migrate Traceback (most recent call last): File "manage.py", line 15, in <module> execute_from_command_line(sys.argv) File "C:\Users\Gonbei\Documents\python\env1\lib\site-packages\django\core\management\__init__.py", line 381, in execute_from_command_line utility.execute() File "C:\Users\Gonbei\Documents\python\env1\lib\site-packages\django\core\management\__init__.py", line 357, in execute django.setup() File "C:\Users\Gonbei\Documents\python\env1\lib\site-packages\django\__init__.py", line 24, in setup apps.populate(settings.INSTALLED_APPS) File "C:\Users\Gonbei\Documents\python\env1\lib\site-packages\django\apps\registry.py", line 89, in populate app_config = AppConfig.create(entry) File "C:\Users\Gonbei\Documents\python\env1\lib\site-packages\django\apps\config.py", line 116, in create mod = import_module(mod_path) File "C:\Users\Gonbei\Documents\python\env1\lib\importlib\__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 994, in _gcd_import File "<frozen importlib._bootstrap>", line 971, in _find_and_load File "<frozen importlib._bootstrap>", line 941, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed File "<frozen importlib._bootstrap>", line 994, in _gcd_import File "<frozen importlib._bootstrap>", line 971, in _find_and_load File "<frozen importlib._bootstrap>", line 953, in _find_and_load_unlocked ModuleNotFoundError: No module named 'trackdictdjango' (env1) C:\Users\Gonbei\Documents\GitHub\myproject>
該当のソースコード
フォルダ構成
C:\Users\Gonbei\Documents\GitHub\myproject │ db.sqlite3 │ manage.py │ ├─.idea │ myproject.iml │ misc.xml │ modules.xml │ workspace.xml │ ├─myproject │ │ settings.py │ │ urls.py │ │ wsgi.py │ │ __init__.py │ │ │ └─__pycache__ │ settings.cpython-36.pyc │ urls.cpython-36.pyc │ wsgi.cpython-36.pyc │ __init__.cpython-36.pyc │ └─trackdict │ admin.py │ apps.py │ models.py │ tests.py │ views.py │ __init__.py │ ├─migrations │ __init__.py │ └─__pycache__ apps.cpython-36.pyc __init__.cpython-36.pyc
myproject\settings.py
python
1# 途中省略 2 3# Application definition 4INSTALLED_APPS = [ 5 'trackdict' 6 'django.contrib.admin', 7 'django.contrib.auth', 8 'django.contrib.contenttypes', 9 'django.contrib.sessions', 10 'django.contrib.messages', 11 'django.contrib.staticfiles', 12] 13 14# 後略
trackdict\models.py
python
1from django.db import models 2 3Class Music(): 4 name = models.CharField(max_length=100) 5 is_active = models.BooleanField(default=True) 6 7 def __str__(self): 8 return self.name
試したこと
- pipのアップデート
- Djangoのアップデート
- startappでappを別名新規作成し、同様のことを試した
- INSTALLED_APPS内の指定で「trackdict」とあるところを以下の表記で試す
--「myproject.trackdict」
--「trackdict.app.TrackdictConfig」
--「myproject.trackdict.app.TrackdictConfig」
- python manage.py makemigrationsを実行 → migrate実行時と同じエラーが発生し異常終了
補足情報(FW/ツールのバージョンなど)
- 実行OS: Windows 10
- Python: 3.6.5
- Django: 2.1
- 上記pythonとDjangoはVirtualenvでenv1という環境を作りそこにインストールしています。実行もenv1下で行っています。
回答1件
あなたの回答
tips
プレビュー