본문 바로가기

에러노트

python django postgres 연동 manage.py createsuperuser 에러

python django 프레임워크 에서

postgres db연동을 할때

 

터미널에

python manage.py createsuperuser

명령어가 에러가 나서 실행이 안되는 경우가 있다.

 

이때  settings.xml 에서 

 

 

 


DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'database_d',
        'USER': 'users',
        'PASSWORD': '1234',
        'HOST': 'localhost',
        'PORT': '5432',
        'OPTIONS': {
            'client_encoding': 'UTF8',  # 인코딩을 UTF-8로 설정
        }
    }
}


 

보통 이 postgres database 접속정보 만을 확인한 후

 

python manage.py migrate

python manage.py createsuperuser

 

터미널 입력후에도 에러가 있다.

 

이때 settings.xml 에 아래

MIDDLEWARE, TEMPLATES, INSTALLED_APPS, DEBUG, STATIC_URL, ROOT_URLCONF , SECRET_KEY 

스크립트를 추가한다.


#setting.xml

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',  # 세션 미들웨어 추가
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',  # 인증 미들웨어 추가
    'django.contrib.messages.middleware.MessageMiddleware',  # 메시지 미들웨어 추가
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',  # 템플릿 백엔드 설정
        'DIRS': [],
        'APP_DIRS': True,  # 앱 내 템플릿 디렉토리 사용
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

INSTALLED_APPS = [
    'django.contrib.admin',  # admin 앱 추가
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    # 기타 앱들...


DEBUG = True

# 정적 파일을 제공할 URL 경로
STATIC_URL = '/static/'  # 기본값으로 /static/ 경로 사용


ROOT_URLCONF = 'myproject.urls'

 

#임의의 문자열을 입력해도 된다

SECRET_KEY = '6z1r5$e8@5vcf2x0z3@pt#9h%x8g2hl7m+5e90$&pftt&5h@fd'


DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'database_d',
        'USER': 'users',
        'PASSWORD': '1234',
        'HOST': 'localhost',
        'PORT': '5432',
        'OPTIONS': {
            'client_encoding': 'UTF8',  # 인코딩을 UTF-8로 설정
        }
    }
}


이후 터미널에

python manage.py migrate

python manage.py createsuperuser

실행시 동작이된다.

 

아래는 settings.xml 스크립트 수정후 띄울시에 

http://127.0.0.1:8000/

출력 브라우저 화면이다.