将我的博客应用程序添加到 settings.py
的 INSTALLED_APPS 部分时,出现 "ModuleNotFoundError: No module named 'blog'"
错误。我确定这与我在 INSTALLED_APPS 下添加“博客”应用程序的方式有关。当我从 INSTALLED_APPS
中删除“博客”引用时,错误消失了。看起来 Django
无法找到我的博客应用程序的目录?
我做了一件不同的事情,那就是使用:
python manage.py startapp blog /myproject
这里的区别是指定了 /myproject
目录而不是使用:
python manage.py startapp blog
这会将其放置在根目录myproject
下。我想避免在根文件夹中添加应用程序目录,这样我就更有条理了。但看起来 Django 不喜欢这个,或者我没有在 INSTALLED_APPS
部分正确引用它?
我的项目目录如下:
myproject/
├── myproject
│ ├── __init__.py
│ ├── __pycache__
│ │ ├── __init__.cpython-36.pyc
│ │ ├── settings.cpython-36.pyc
│ │ ├── urls.cpython-36.pyc
│ │ └── wsgi.cpython-36.pyc
│ ├── blog
│ │ ├── __init__.py
│ │ ├── admin.py
│ │ ├── apps.py
│ │ ├── migrations
│ │ │ └── __init__.py
│ │ ├── models.py
│ │ ├── tests.py
│ │ └── views.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── db.sqlite3
└── manage.py
在我的 settings.py
中,我已经设置了我的应用 blog
:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'blog',
]
最佳答案
目录结构不寻常。更常见的是与您的应用程序相匹配的命名为 blog 的是
myproject/
├── myproject
│ ├── __init__.py
│ ├── __pycache__
│ │ ├── __init__.cpython-36.pyc
│ │ ├── settings.cpython-36.pyc
│ │ ├── urls.cpython-36.pyc
│ │ └── wsgi.cpython-36.pyc
├── blog
│ ├── __init__.py
│ ├── admin.py
│ ├── apps.py
│ ├── migrations
│ │ └── __init__.py
│ ├── models.py
│ ├── tests.py
│ └── views.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── db.sqlite3
└── manage.py
关于python - Django 说 - 没有名为 'blog' 的模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41963141/