【问题标题】:Django error 'ModuleNotFoundError: No module named 'ocore'Django 错误“ModuleNotFoundError:没有名为“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 是什么或这个错误意味着什么的信息。

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

【问题讨论】:

    标签: python python-3.x django modulenotfounderror


    【解决方案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

    【讨论】:

      猜你喜欢
      • 2019-11-13
      • 2019-03-08
      • 2021-08-06
      • 2019-07-16
      • 2020-07-30
      • 2022-01-13
      • 2020-01-01
      • 2019-03-09
      相关资源
      最近更新 更多