【问题标题】:Django / makemigrations ModuleNotFoundError: No module named 'idmp_core.apps.IdmpCoreConfigdjango';Django / makemigrations ModuleNotFoundError: No module named 'idmp_core.apps.IdmpCoreConfigdjango';
【发布时间】:2018-11-05 20:37:32
【问题描述】:

我正在学习 Django...运行makemigrations 命令时出现我无法修复的错误。

我收到错误 ModuleNotFoundError: No module named 'idmp_core.apps.IdmpCoreConfigdjango'; 'idmp_core.apps' is not a package。让我感到困惑的是django 出现在idmp_core.apps.IdmpCoreConfig 字符串末尾的单词,它是

INSTALLED_APPS = [
    'idmp_core.apps.IdmpCoreConfig'
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

我的项目树结构如下:

D:.
|   manage.py
|   
+---idmp_core
|   |   admin.py
|   |   apps.py
|   |   models.py
|   |   tests.py
|   |   urls.py
|   |   views.py
|   |   __init__.py
|   |   
|   +---migrations
|   |       __init__.py
|           
+---idmp_v0
|   |   settings.py
|   |   urls.py
|   |   wsgi.py
|   |   __init__.py
|           
\---templates

我使用python manage.py startapp idmp_core 创建了idmp_core,结果很顺利。

我修改了idmp_core 目录下的models.py。当我运行命令时

python manage.py makemigrations idmp_core

我收到以下错误消息

(idmp) D:\Dropbox\mycode\idmp_v0>python manage.py makemigrations idmp_core
Traceback (most recent call last):
  File "manage.py", line 15, in <module>
    execute_from_command_line(sys.argv)
  File "C:\Users\JMERX\Envs\idmp\lib\site-packages\django\core\management\__init__.py", line 371, in execute_from_command_line
    utility.execute()
  File "C:\Users\JMERX\Envs\idmp\lib\site-packages\django\core\management\__init__.py", line 347, in execute
    django.setup()
  File "C:\Users\JMERX\Envs\idmp\lib\site-packages\django\__init__.py", line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "C:\Users\JMERX\Envs\idmp\lib\site-packages\django\apps\registry.py", line 89, in populate
    app_config = AppConfig.create(entry)
  File "C:\Users\JMERX\Envs\idmp\lib\site-packages\django\apps\config.py", line 116, in create
    mod = import_module(mod_path)
  File "C:\Users\JMERX\Envs\idmp\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 950, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'idmp_core.apps.IdmpCoreConfigdjango'; 'idmp_core.apps' is not a package

当我遵循 Django 教程时,一切都很好。我做错了...但是我无法理解在哪里...

【问题讨论】:

    标签: python django django-migrations


    【解决方案1】:

    你只是忘了在里面放一个逗号

    给你

    INSTALLED_APPS = [
        'idmp_core.apps.IdmpCoreConfig',
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
    ]
    

    【讨论】:

    • 这对我有用!虽然您能解释一下为什么缺少逗号会导致 ModuleNotFound 错误吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-27
    • 2022-12-27
    • 2022-12-19
    • 1970-01-01
    • 2020-02-10
    相关资源
    最近更新 更多