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 错误