Django DB 설정 '잘못된 구성'오류
Django (1.5)는 나에게 잘 작동하지만 Python 인터프리터 (Python 3)를 실행하여 몇 가지 사항을 확인하면 가져 오기를 시도 할 때 가장 이상한 오류가 발생합니다 from django.contrib.auth.models import User
--
Traceback (most recent call last):
File "/usr/local/lib/python3.2/dist-packages/django/conf/__init__.py", line 36, in _setup
settings_module = os.environ[ENVIRONMENT_VARIABLE]
File "/usr/lib/python3.2/os.py", line 450, in __getitem__
value = self._data[self.encodekey(key)]
KeyError: b'DJANGO_SETTINGS_MODULE'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.2/dist-packages/django/contrib/auth/models.py", line 8, in <module>
from django.db import models
File "/usr/local/lib/python3.2/dist-packages/django/db/__init__.py", line 11, in <module>
if settings.DATABASES and DEFAULT_DB_ALIAS not in settings.DATABASES:
File "/usr/local/lib/python3.2/dist-packages/django/conf/__init__.py", line 52, in __getattr__
self._setup(name)
File "/usr/local/lib/python3.2/dist-packages/django/conf/__init__.py", line 45, in _setup
% (desc, ENVIRONMENT_VARIABLE))
django.core.exceptions.ImproperlyConfigured: Requested setting DATABASES,
but settings are not configured. You must either define the environment
variable DJANGO_SETTINGS_MODULE or call settings.configure()
before accessing settings.
파이썬 인터프리터 밖에서 잘 작동하면 어떻게 잘못 구성 할 수 있습니까? Django 설정에서 DATABASES
설정은 다음과 같습니다.
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
'NAME': 'django_db', # Or path to database file if using sqlite3.
# The following settings are not used with sqlite3:
'USER': 'zamphatta',
'PASSWORD': 'mypassword91',
'HOST': '', # Empty for localhost through domain sockets or '127.0.0.1' for localhost through TCP.
'PORT': '', # Set to empty string for default.
}
}
... 이것이 어떻게 잘못 구성되어 있습니까?
Django는 Python을 실행하고 확인하는 것뿐만 아니라 어떤 프로젝트를 진행하고 있는지 알지 못합니다. 다음 중 하나를 수행해야합니다.
- 사용하다
python manage.py shell
- 사용
django-admin.py shell --settings=mysite.settings
(또는 사용 하는 설정 모듈) - 세트
DJANGO_SETTINGS_MODULE
로 OS에서 환경 변수mysite.settings
(이것은 장고 1.6에서 제거되었습니다.)
setup_environ
파이썬 인터프리터에서 사용 :from django.core.management import setup_environ from mysite import settings setup_environ(settings)
당연히 첫 번째 방법이 가장 쉽습니다.
파이썬 쉘 / 파이썬에서 다음을 수행하십시오.
from django.conf import settings
settings.configure()
django 1.11.5 및 python 3.6이있는 2017 년 에는 주석에서 Python 2.7 과도 작동합니다 .
import django
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")
django.setup()
.py
이 코드를 삽입하는가에 있어야합니다 mysite
(부모 일)
Django 1.9에서 django-admin runserver를 시도했지만 동일한 오류가 발생했지만 'python manage.py runserver'를 사용하면 의도 한 결과를 얻었습니다. 이것은 많은 사람들 에게이 오류를 해결할 수 있습니다!
필자의 경우 PyCharm을 통해 Django 테스트를 실행하려고 할 때 이것을 얻었습니다. PyCharm이 초기 Django 프로젝트 설정, 즉 manage.py shell
처음 실행되는 설정을로드하지 않기 때문이라고 생각합니다 . 테스트 스크립트의 시작 부분에 추가하거나을 사용하여 테스트를 실행할 수 manage.py test
있습니다.
버전 :
- Python 3.5 (virtualenv에서)
- PyCharm 2016.3.2 전문가
- 장고 1.10
in my own case in django 1.10.1 running on python2.7.11, I was trying to start the server using django-admin runserver
instead of manage.py runserver
in my project directory.
참고URL : https://stackoverflow.com/questions/15556499/django-db-settings-improperly-configured-error
'IT' 카테고리의 다른 글
HTML 5 Favicon-지원? (0) | 2020.06.01 |
---|---|
ASP.NET MVC 컨트롤러에서 외부 URI로 리디렉션 (0) | 2020.06.01 |
정적 속성에 바인딩 (0) | 2020.06.01 |
Enum으로 싱글 톤 구현하기 (Java) (0) | 2020.06.01 |
소품에서 구성 요소 초기화 상태를 반응 (0) | 2020.06.01 |