我根本不能做一个简单的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列表中。但从那里它似乎遇到了一个问题。
我一直试图解决这个问题多年,我只是不明白(即使它可能很容易)。
UPDATE 这是我得到的确切堆栈跟踪:
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',
]
我也尝试过只使用条目。这给出了同样的错误。
答案 0 :(得分:3)
如果您在终端上使用django-admin startproject <project's name>
启动了一个项目,请尽量不要更改PROJECT_DIR和BASE_DIR。它们应该是相同的。
答案 1 :(得分:1)
看起来您的条目目录位于错误的位置。你应该将它向上移动一级,因此它是app/entries
而不是app/app/entries
。
(你说'entries.apps.EntriesConfig'是添加到INSTALLED_APPS的有效方法是正确的。)
答案 2 :(得分:1)
您应该像这样在 INSTALLED_APPS 中添加应用程序:'app.entries'
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'app.entries',
'rest_framework', ]
答案 3 :(得分:0)
答案 4 :(得分:0)
答案 5 :(得分:0)
在您的情况下,INSTALLED_APPS应该是 INSTALLED_APPS = [ 'rest_framework', 'app.entries.apps.EntriesConfig', ....... ]
也在fEntriesConfig()的entry / apps.py文件中设置 名称='app.entries'
答案 6 :(得分:0)
这似乎是我在django jounrney期间遇到的错误 您必须在此处进行manage.py并首先在同一个目录中使用任何名称进行投影,然后在installation_App列表的setting.py中添加新的“ fist_App”,然后 检查 python manage.py fristapp