配置不正确:请求的设置为INSTALLED_APPS,但未配置设置

Alb*_*ert 4 django restframeworkmongoengine

我正在尝试使MongoDB和Django以我想要的方式彼此相处。这是我尝试从rest_framework_mongoengine导入视图集时遇到的错误。

整个错误如下所示:

ImproperlyConfigured: Requested setting INSTALLED_APPS, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.

找不到settings.py或什么?如果是这样,我不知道为什么!即,为什么没有其他模块出现此问题呢?

这是我的 INSTALLED APPS

INSTALLED_APPS = [
    'rest_framework',
    'rest_framework_mongoengine',
    'mongoengine.django.mongo_auth',
    'rest_framework.authtoken',
    'corsheaders',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django_extensions',
    'core',
    'core.essences.user',
    'core.essences.user.authentication',
    'core.essences.test_result',
]
Run Code Online (Sandbox Code Playgroud)

Jam*_*ett 12

最常见的原因是您只是在运行python而不是使用python manage.py shell,这意味着您需要手动设置DJANGO_SETTINGS_MODULE环境变量,以便Django知道在哪里可以找到您的设置(manage.py shell自动为您完成设置)。

在设置设置过程中,也有可能(但不常见)尝试导入设置。要确定是否存在这种情况,请在设置文件中查看可能需要访问设置的任何导入或函数调用(包括由设置文件导入的事物中的代码)。


小智 12

对于仍然遇到此问题且无法解决的任何人,请确保将 setdefault DJANGO_SETTINGS_MODULE 移至脚本文件的顶部。

import os
import django

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'my_crazy_service.settings')
django.setup()

from channels.auth import AuthMiddlewareStack
from channels.routing import ProtocolTypeRouter, URLRouter
from django.core.asgi import get_asgi_application
Run Code Online (Sandbox Code Playgroud)

忽略波浪形的标记


小智 6

在你的试试这个xx.py:

from yourProjectName.wsgi import *
Run Code Online (Sandbox Code Playgroud)