到目前为止,我使用django进行了2个项目,一切都很顺利。
在Django 3.1.4中使用python 3.6和conda env
我正在按照本教程开始新项目的工作,就像上一个项目一样: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 migration)在导入时都会失败,因为它无法解析任何名称,例如“ sitemanager.apps”或“ sitemanager.urls”
我检查了基本的东西:
在开始这个新项目之后,我处于一个非常基本的配置中,什么也没有起作用...
我试图建立一个新的conda env,启动一个新的django项目,同样的事情。
我真的不知道我应该去哪里解决这个问题以及如何解决它。可能是python导入模块的方式以及我如何使用python env的问题,或者sys.path中有问题
我的其他项目继续工作,我可以使用runserver并进行迁移。
编辑和回答:
好吧,我没有为我的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”
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句