我正在尝试让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',
]
答案 0 :(得分:7)
最常见的原因是您只是运行python
而不是使用python manage.py shell
,这意味着您需要手动设置DJANGO_SETTINGS_MODULE
环境变量,以便Django知道在哪里找到你的设置(manage.py shell
自动为你做这件事。)
在设置设置的过程中,您还可以尝试导入设置,但也可能(但不太常见)。要确定是否属于这种情况,请查看您的设置文件,查看可能需要访问设置的任何导入或函数调用(包括设置文件导入的内容中的代码)。
答案 1 :(得分:1)
在您的xx.py中尝试 “从youprojectName.wsgi导入*”
答案 2 :(得分:1)
只需运行python manage.py shell
而不是运行python
即可到达项目中的环境外壳。 python默认情况下不会简单地识别django
个已安装的应用程序。
答案 3 :(得分:0)
如果您使用的是Windows,请运行
set DJANGO_SETTINGS_MODULE= <yourProjectName>.settings
(或)导航到终端中包含设置文件的文件夹并运行
set DJANGO_SETTINGS_MODULE=settings
答案 4 :(得分:0)
在终端中尝试使用 python manage.py shell
而不是 python
来实现交互式环境。