0

到目前为止,我用 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 migrate 在导入时都失败,因为它无法解析任何名称,如“sitemanager.apps”或“sitemanager.urls”

我检查了基本的东西:

  • 我在 sitemanager 根文件夹中有一个init .py
  • urls.py 或 apps.py 存在
  • 如果我在 mynewproject 文件夹的 cmd 中使用 python 并尝试 import "sitemanager.apps" ,它可以工作。(没有错误)

刚开始这个新项目后,我处于一个非常基本的配置中,但没有任何效果......

我试图建立一个新的 conda env,开始一个新的 django 项目,同样的事情。

我真的不知道我应该在哪里解决这个问题以及如何解决它。这可能是python导入模块的方式以及我如何使用我的python env的问题,也可能是sys.path中的问题

我的其他项目继续工作,我可以使用 runserver 和 migrate 例如。

编辑和回答:

好吧,我的 appconfig 缺少一个昏迷,并且我没有在 sitemanager 中创建 urls.py (仅在主项目中)....

我想我应该休息一下,谢谢。

4

2 回答 2

1

您必须在“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”

于 2020-12-16T20:00:48.520 回答
1

后面少了一个逗号

INSTALLED_APPS = [
    'sitemanager.apps.SitemanagerConfig'
于 2020-12-16T20:02:29.640 回答