我根本无法使一个简单的 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 的有效方式。)
