如何解决“ django ImproperlyConfigured异常:请求的设置,您必须定义环境变量DJANGO_SETTINGS_MODULE。”

时间:2019-09-25 19:55:55

标签: django python-3.x

我们的Django应用程序使用Django Rest Framework,Oauth2和双重设置-一个用于开发,另一个用于生产,以及一个通用的名为base.py的应用。目前,development.py是在manage.py文件上设置的。我们还使用了django-cors-headers包。

昨天,当我使用./manage.py runserver或其他命令时,此异常开始。我试图解决它。我从这里(Stackoverflow)和其他网站上阅读了很多帖子,但我没有做到。

有人可以帮我吗?


Traceback (most recent call last):
  File "./manage.py", line 5, in <module>
    from settings import base, development
  File "/home/ijdev/Área de Trabalho/izio/izio-bank/settings/base.py", line 12, in <module>
    from corsheaders.defaults import default_methods as cors_default_methods
  File "/home/ijdev/Área de Trabalho/izio/Izioenv/lib/python3.7/site-packages/corsheaders/defaults.py", line 14, in <module>
    CORS_ALLOW_HEADERS = getattr(settings, 'CORS_ALLOW_HEADERS', default_headers)
  File "/home/ijdev/Área de Trabalho/izio/Izioenv/lib/python3.7/site-packages/django/conf/__init__.py", line 79, in __getattr__
    self._setup(name)
  File "/home/ijdev/Área de Trabalho/izio/Izioenv/lib/python3.7/site-packages/django/conf/__init__.py", line 64, in _setup
    % (desc, ENVIRONMENT_VARIABLE))
django.core.exceptions.ImproperlyConfigured: Requested setting CORS_ALLOW_HEADERS, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.

1 个答案:

答案 0 :(得分:0)

在基本设置中,您拥有

from corsheaders.defaults import default_methods as cors_default_methods

这会导致循环导入,因为corsheaders会尝试导入设置。

要解决此问题,请从设置中删除导入。