django.setup():ModuleNotFoundError:当设置了DJANGO_SETTINGS_MODULE时,没有名为'API'的模块

htzpubme  于 2023-08-08  发布在  Go
关注(0)|答案(2)|浏览(119)

我试图从外部Python脚本添加条目到Django数据库,但在尝试导入Django模型时遇到错误。我将venv用于数据库和单个Python脚本
我使用了以下链接:django.core.exceptions.ImproperlyConfigured: Requested setting INSTALLED_APPS, but settings are not configured尝试在导入Model之前设置Django,但现在我遇到了以下错误:*ModuleNotFoundError:没有名为“API”的模块 *
我还将Python Path设置在我的项目目录的顶部,该目录位于我的Database和Python Script之上。
我试图创建的Python文件位于数据库的不同文件夹中,代码如下:(注意,我的Django数据库名称是database,也是主要部分。我把“API”作为一个单独的目录。)

import os

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'proj.database.database.settings')

import django
django.setup()

from database.api.models import Example

字符串
这在django.setup()上失败。我用“fromdatabase.database.wsgiimport *”做了另一个尝试,结果是同样的错误。
我不确定是什么原因造成的,因为当我运行数据库时,“API”中的模型看起来很好,我确实将api添加到“INSTALLED_APPS”中。
这是我的database.settings.py中的INSTALLED_APPS:

INSTALLED_APPS = [
    'api.apps.ApiConfig',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'rest_framework',
]


API.apps”是我的项目中的一个基本文件,除了默认行为外,我没有对它做太多的处理。
是什么原因导致API出现ModuleNotFoundError?

dy2hfwbg

dy2hfwbg1#

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'api.apps.ApiConfig',
    'rest_framework',
]

字符串
对不起,晚重播,但这是我说的,你需要把你创建的应用程序后,静态文件记住总是python在interpretedd编程语言

7gcisfzg

7gcisfzg2#

这已经是一个老线索了,但以防有人面临同样的问题,上面的答案和评论不清楚,这是我的看法:

  1. ModuleNotFoundError:没有模块名为'API.apps'的错误很明显是django找不到模块名apis/apps.py
  2. OP使用Djanggo命令解决了这个问题:

python manage.py startapp apis

这将生成一个名为apis的文件夹、模块apps.py以及所有必要的文件。
(我还不知道所有生成的文件都叫什么,因为我刚刚在学习使用Python + Django开发Web服务时找到了解决方案)

相关问题