Django 错误“ModuleNotFoundError:没有名为“ocore”的模块

Posted

技术标签:

【中文标题】Django 错误“ModuleNotFoundError:没有名为“ocore”的模块【英文标题】:Django error 'ModuleNotFoundError: No module named 'ocore' 【发布时间】:2022-01-12 22:54:11 【问题描述】:

刚接触 Django,刚刚开始按照教程构建一个新项目。

我创建了一个虚拟环境如下:

pip install virtualenv

virtualenv myproject_3_7_3

然后我激活虚拟环境并按如下方式安装 Django:

cd myproject_3_7_3

source bin/activate

pip install django

这会成功安装 Django 版本 3.2.10,然后我激活项目,添加一些文件夹结构并使用以下命令创建应用程序:

django-admin startproject myproject

cd myproject

mkdir apps

mkdir apps/core

python manage.py startapp core apps/core

然后我打开 VSCode,我可以在那里看到项目和所有默认文件夹/文件。

启动我运行的应用程序:

python manage.py startapp core apps/core

但我立即在终端中收到以下错误。

Traceback (most recent call last):
  File "/Users/myuser/myproject_3_7_3/lib/python3.7/site-packages/django/apps/config.py", line 244, in create
    app_module = import_module(app_name)
  File "//anaconda3/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 965, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'ocore'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "manage.py", line 22, in <module>
    main()
  File "manage.py", line 18, in main
    execute_from_command_line(sys.argv)
  File "/Users/myuser/myproject_3_7_3/lib/python3.7/site-packages/django/core/management/__init__.py", line 419, in execute_from_command_line
    utility.execute()
  File "/Users/myuser/myproject_3_7_3/lib/python3.7/site-packages/django/core/management/__init__.py", line 395, in execute
    django.setup()
  File "/Users/myuser/myproject_3_7_3/lib/python3.7/site-packages/django/__init__.py", line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/Users/myuser/myproject_3_7_3/lib/python3.7/site-packages/django/apps/registry.py", line 91, in populate
    app_config = AppConfig.create(entry)
  File "/Users/myuser/myproject_3_7_3/lib/python3.7/site-packages/django/apps/config.py", line 250, in create
    app_config_class.__qualname__,
django.core.exceptions.ImproperlyConfigured: Cannot import 'ocore'. Check that 'apps.core.apps.OcoreConfig.name' is correct.

探索创建的apps.py 显示以下内容:

from django.apps import AppConfig


class OcoreConfig(AppConfig):
    default_auto_field = 'django.db.models.BigAutoField'
    name = 'ocore'

这与教程中给出的apps.py 文件不同,所以我最初的想法是这可能是由于版本差异,但是广泛搜索不会产生关于ocore 是什么或这个错误意味着什么的信息。

有人能帮我解决这个问题吗?

【问题讨论】:

【参考方案1】:

拼写错误

我试图复制你的错误。

在创建应用时,您错误地创建了名称“ocore”。

但是在settings.py中

INSTALLED_APPS = [
   ...
   apps.core, # This is what you added I presume
   apps.ocore, # this must be done
]

创建的应用名称应该与 django 的 settings.py 中的 INSTALLED_APPS 数组中的名称相同。

另一件事“startapp”只是为您创建具有所需文件和配置的目录结构。它不会运行你必须做的项目python manage.py runserver

【讨论】:

以上是关于Django 错误“ModuleNotFoundError:没有名为“ocore”的模块的主要内容,如果未能解决你的问题,请参考以下文章

Django 和 AngularJS:如何显示来自 Django 调试错误消息的 Angular $http 错误

django 错误

django debug关闭之后网页错误

Django模板错误?

django 3和django通道中的SynchronousOnlyOperation错误

完整性错误和操作错误 Django 1.6.6