Django DB 설정 '잘못 구성됨' 오류
장고(1.5)는 잘 작동하지만, 파이썬 인터프리터(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.
}
}
...어떻게 구성이 잘못되었습니까?
Python을 실행하고 확인만 할 수는 없습니다. Django는 당신이 어떤 프로젝트에 착수하고 싶은지 모릅니다.다음 중 하나를 수행해야 합니다.
- 사용하다
python manage.py shell
- 사용하다
django-admin.py shell --settings=mysite.settings
(또는 사용하는 설정 모듈) - 세트
DJANGO_SETTINGS_MODULE
OS의 환경 변수를 사용할 수 있습니다.mysite.settings
(Django 1.6에서 제거됨) 사용
setup_environ
파이썬 인터프리터에서:from django.core.management import setup_environ from mysite import settings setup_environ(settings)
당연히 첫 번째 방법이 가장 쉽습니다.
python 셸/ipython에서 다음을 수행합니다.
from django.conf import settings
settings.configure()
2017년 django 1.11.5와 python 3.6을 사용하여 다음을 수행했습니다(댓글에서 이것은 Python 2.7에서도 작동합니다).
import django
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")
django.setup()
그.py
당신이 이 코드를 넣어야 하는 곳.mysite
(모체)
장고 1.9에서, 저는 시도했습니다.django-admin runserver
그리고 같은 오류가 발생했지만, 제가 사용했을 때python manage.py runserver
저는 의도한 결과를 얻었습니다.이것은 많은 사람들에게 이 오류를 해결할 수도 있습니다!
저의 경우, PyCharm을 통해 장고 테스트를 실행하려고 할 때 이것이 발생했습니다.PyCharm이 초기 Django 프로젝트 설정을 로드하지 않기 때문이라고 생각합니다. 즉, 그것들은manage.py shell
처음에 실행됩니다.테스트 스크립트의 시작 부분에 추가하거나 다음을 사용하여 테스트를 실행할 수 있습니다.manage.py test
.
버전:
- Python 3.5(가상 환경)
- PyCharm 2016.3.2 Professional
- 장고 1.10
python2.7.11에서 실행되는 django 1.10.1의 경우, 저는 서버를 시작하려고 했습니다.django-admin runserver
대신에manage.py runserver
프로젝트 디렉토리에 있습니다.
IntelliJ를 사용하는 사람들을 위해, 저는 이러한 설정으로 셸(창)에서 쿼리할 수 있었습니다.
언급URL : https://stackoverflow.com/questions/15556499/django-db-settings-improperly-configured-error
'source' 카테고리의 다른 글
Spring Boot Maven 플러그인을 사용하는 경우 Spring Boot 애플리케이션의 리소스가 jar 파일에서 누락됨 (0) | 2023.06.28 |
---|---|
여러 개의 @조건부 주석을 지정할 수 있습니까? (0) | 2023.06.28 |
CASE 문과 DECODE가 동일합니까? (0) | 2023.06.28 |
Oracle이 모든 테이블의 통계를 수동으로 업데이트 (0) | 2023.06.28 |
해시에서 문자열을 기호로 변환하는 가장 좋은 방법 (0) | 2023.06.28 |