配置不当:请求设置 INSTALLED_APPS,但未配置设置

新手上路,请多包涵

我试图让 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',
]

原文由 Albert 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.5k
2 个回答

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

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

原文由 James Bennett 发布,翻译遵循 CC BY-SA 3.0 许可协议

对于仍然遇到此问题且几乎无法解决的任何人,请确保将 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

忽略波浪形的标记

原文由 Granson 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题