Skip to main content
 首页 » 编程设计

python之Django ModuleNotFoundError

2025年01月19日50Leo_wl

我根本无法使一个简单的 Django 项目工作。我得到了与我发现的这个问题中列出的相同的错误:

Python/Django =- ModuleNotFoundError: No module named 'restaurants'

对我来说唯一的区别是它说“没有模块命名条目”。这似乎没有解决方案,我也不明白对此的评论。

我的目录结构是这样的:

app 
|- manage.py 
|- app 
    |- __init__.py 
    |- entries 
    |    |- __init__.py 
    |    |- apps.py  
    |    |- models.py 
    |    |- views.py 
    |    |- admin.py 
    |    |- tests.py 
    |    |- migrations - __init__.py 
    |     
    |- urls.py 
    |- settings.py 
    |- __pycache__ 
    |- wsgi.py 

我已将条目应用程序添加到 settings.py 中的 INSTALLED_APPS 列表中。但从那里它似乎遇到了问题。

多年来我一直在努力解决这个问题,但我就是不明白(尽管它可能很容易)。

更新 这是我得到的确切堆栈跟踪:

Traceback (most recent call last): 
  File "manage.py", line 22, in <module> 
    execute_from_command_line(sys.argv) 
  File "/Users/maximus/.virtualenvs/piglet/lib/python3.6/site-packages/django/core/management/__init__.py", line 364, in execute_from_command_line 
    utility.execute() 
  File "/Users/maximus/.virtualenvs/piglet/lib/python3.6/site-packages/django/core/management/__init__.py", line 338, in execute 
    django.setup() 
  File "/Users/maximus/.virtualenvs/piglet/lib/python3.6/site-packages/django/__init__.py", line 27, in setup 
    apps.populate(settings.INSTALLED_APPS) 
  File "/Users/maximus/.virtualenvs/piglet/lib/python3.6/site-packages/django/apps/registry.py", line 85, in populate 
    app_config = AppConfig.create(entry) 
  File "/Users/maximus/.virtualenvs/piglet/lib/python3.6/site-packages/django/apps/config.py", line 94, in create 
    module = import_module(entry) 
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/importlib/__init__.py", line 126, in import_module 
    return _bootstrap._gcd_import(name[level:], package, level) 
  File "<frozen importlib._bootstrap>", line 978, in _gcd_import 
  File "<frozen importlib._bootstrap>", line 961, in _find_and_load 
  File "<frozen importlib._bootstrap>", line 948, in _find_and_load_unlocked 
ModuleNotFoundError: No module named 'entries'  

更新 2: 这是我的 INSTALLED_APPS:

INSTALLED_APPS = [ 
    'rest_framework', 
    'entries.apps.EntriesConfig', 
    'django.contrib.admin', 
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.messages', 
    'django.contrib.staticfiles', 
] 

我也试过只使用条目。这给出了同样的错误。

请您参考如下方法:

看起来您的条目目录位于错误的位置。您应该将其上移一个级别,因此它是 app/entries 而不是 app/app/entries。

(您是正确的,'entries.apps.EntriesConfig' 是添加到 INSTALLED_APPS 的有效方式。)