错误配置:请求设置INSTALLED_APPS,但未配置设置

0kjbasz6  于 2022-09-18  发布在  Java
关注(0)|答案(7)|浏览(338)

我正在努力让MongoDB和Django按照我希望的方式相处。这就是我在尝试从REST_FrameworkMongoEngine导入视图集时遇到的错误。

整个错误如下所示:

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

  1. INSTALLED_APPS = [
  2. 'rest_framework',
  3. 'rest_framework_mongoengine',
  4. 'mongoengine.django.mongo_auth',
  5. 'rest_framework.authtoken',
  6. 'corsheaders',
  7. 'django.contrib.admin',
  8. 'django.contrib.auth',
  9. 'django.contrib.contenttypes',
  10. 'django.contrib.sessions',
  11. 'django.contrib.messages',
  12. 'django.contrib.staticfiles',
  13. 'django_extensions',
  14. 'core',
  15. 'core.essences.user',
  16. 'core.essences.user.authentication',
  17. 'core.essences.test_result',
  18. ]
4c8rllxm

4c8rllxm1#

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

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

uqxowvwt

uqxowvwt2#

对于仍然遇到此问题但几乎没有解决的任何人,请确保将setDefault Django_Setting_MODULE移到脚本文件的顶部。

  1. import os
  2. import django
  3. os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'my_crazy_service.settings')
  4. django.setup()
  5. from channels.auth import AuthMiddlewareStack
  6. from channels.routing import ProtocolTypeRouter, URLRouter
  7. from django.core.asgi import get_asgi_application

无视曲折的痕迹

pw9qyyiw

pw9qyyiw3#

在你的xx.py:中试试这个

  1. from yourProjectName.wsgi import *
xzabzqsa

xzabzqsa4#

运行python manage.py shell而不是运行python以访问项目中的环境外壳。默认情况下,Python不会简单地识别django安装的应用程序。

0yg35tkg

0yg35tkg5#

如果您使用的是Windows,请运行

  1. set DJANGO_SETTINGS_MODULE= <yourProjectName>.settings

(或)导航到终端中包含设置文件的文件夹并运行

  1. set DJANGO_SETTINGS_MODULE=settings
dgsult0t

dgsult0t6#

在交互环境终端中尝试python manage.py shell而不是python

qlckcl4x

qlckcl4x7#

I saw this exception in the python console in pycharm when I run the following command,

  1. from app_name.models import model_name

by the soloution present above, before this command, I used below command and the problem is solved

  1. from project_name.wsgi import *

相关问题