模块无法加载到新的 Django 项目中
modules cannot load in a new Django project
到目前为止,我用 django 做了 2 个项目,一切都很顺利。
使用 python 3.6 和 conda env 与 django 3.1.4
我正在按照教程开始我的新项目,就像我之前的项目一样:https://docs.djangoproject.com/fr/3.1/intro/tutorial01/
使用“django-admin startproject ngedemocarto”开始一个新的
然后使用“django startapp sitemanager”它给了我这个:
但是在这个项目中,当我尝试调用任何应用程序模块(如“apps.py”或“urls.py”
时,突然出现错误
如果我像这样在 settings.py 中添加应用程序配置,就会出现典型错误:
INSTALLED_APPS = [
'sitemanager.apps.SitemanagerConfig'
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
解决此错误:
ModuleNotFoundError: No module named 'sitemanager.apps.SitemanagerConfigdjango'; 'sitemanager.apps' is not a package
像 manage.py runserver 或 manage.py migrate 这样的每个命令在导入时都失败了,因为它无法解析像“sitemanager.apps”或“sitemanager.urls”这样的任何名称。 =14=]
我检查了基本的东西:
- 我在 sitemanager 根文件夹中有一个 init.py
- urls.py 或 apps.py 存在
- 如果我在 cmd 中的 mynewproject 文件夹中使用 python 并尝试导入“sitemanager.apps”,它会起作用。 (没有错误)
刚开始这个新项目后,我处于一个非常基本的配置中,但没有任何效果...
我尝试构建一个新的 conda env,开始一个新的 django 项目,同样的事情。
我真的不知道应该去哪里解决这个问题以及如何解决它。
python 导入模块的方式以及我如何使用我的 python 环境可能是个问题,
也许 sys.path 有问题
我的其他项目继续工作,例如我可以使用 runserver 和 migrate。
编辑并回答:
嗯,
我的 appconfig 缺少昏迷
而且我没有在 sitemanager 中创建 urls.py(仅在主项目中)....
我想我应该休息一下,谢谢。
你必须在'sitemanager.apps.SitemanagerConfig'后面加一个逗号。缺少逗号会导致 django 试图找到不存在的 'sitemanager.apps.SitemanagerConfigdjango':
之前:
INSTALLED_APPS = [
'sitemanager.apps.SitemanagerConfig'
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
之后:
INSTALLED_APPS = [
'sitemanager.apps.SitemanagerConfig',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
或者,可以只添加 'sitemanager' 而不是 'sitemanager.apps.SitemanagerConfig'
后面少了一个逗号
INSTALLED_APPS = [
'sitemanager.apps.SitemanagerConfig'
到目前为止,我用 django 做了 2 个项目,一切都很顺利。
使用 python 3.6 和 conda env 与 django 3.1.4
我正在按照教程开始我的新项目,就像我之前的项目一样:https://docs.djangoproject.com/fr/3.1/intro/tutorial01/
使用“django-admin startproject ngedemocarto”开始一个新的 然后使用“django startapp sitemanager”它给了我这个:
但是在这个项目中,当我尝试调用任何应用程序模块(如“apps.py”或“urls.py”
时,突然出现错误如果我像这样在 settings.py 中添加应用程序配置,就会出现典型错误:
INSTALLED_APPS = [
'sitemanager.apps.SitemanagerConfig'
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
解决此错误:
ModuleNotFoundError: No module named 'sitemanager.apps.SitemanagerConfigdjango'; 'sitemanager.apps' is not a package
像 manage.py runserver 或 manage.py migrate 这样的每个命令在导入时都失败了,因为它无法解析像“sitemanager.apps”或“sitemanager.urls”这样的任何名称。 =14=]
我检查了基本的东西:
- 我在 sitemanager 根文件夹中有一个 init.py
- urls.py 或 apps.py 存在
- 如果我在 cmd 中的 mynewproject 文件夹中使用 python 并尝试导入“sitemanager.apps”,它会起作用。 (没有错误)
刚开始这个新项目后,我处于一个非常基本的配置中,但没有任何效果...
我尝试构建一个新的 conda env,开始一个新的 django 项目,同样的事情。
我真的不知道应该去哪里解决这个问题以及如何解决它。 python 导入模块的方式以及我如何使用我的 python 环境可能是个问题, 也许 sys.path 有问题
我的其他项目继续工作,例如我可以使用 runserver 和 migrate。
编辑并回答:
嗯, 我的 appconfig 缺少昏迷 而且我没有在 sitemanager 中创建 urls.py(仅在主项目中)....
我想我应该休息一下,谢谢。
你必须在'sitemanager.apps.SitemanagerConfig'后面加一个逗号。缺少逗号会导致 django 试图找到不存在的 'sitemanager.apps.SitemanagerConfigdjango':
之前:
INSTALLED_APPS = [
'sitemanager.apps.SitemanagerConfig'
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
之后:
INSTALLED_APPS = [
'sitemanager.apps.SitemanagerConfig',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
或者,可以只添加 'sitemanager' 而不是 'sitemanager.apps.SitemanagerConfig'
INSTALLED_APPS = [
'sitemanager.apps.SitemanagerConfig'