장고(django) 다른DB(postgresql) 연결, 연동 접속하는 방법은 어떻게?

data-full-width-responsive="true">

장고(django)라는 프레임워크에서 제공하는 기본 DB(데이터베이스)는 sqlite3이다.

하지만 웹서비스를 하기에는 불편한 점이 있다고해서 보통 다른 DB를 선택한다.

내가 선택한 것은 postgresql이었다.

그래서 지난 글에서 Postgresql DB를 설치하고 초기 설정하는 방법(글로 이동)까지 알아봤다.

이번엔 그 후속타로 장고(django)에 다른 DB인 postgresql을 연동하고 접속하는 방법에 대해 알아보자.

먼저 큰 개념을 설명하면 장고에서 기존 DB와의 연결을 제거하고, 새로운 DB와 연결 연동을 시켜준다.

이것은 settings.py에서 설정하고 명령어를 통해 실제 연결한다.

일단, 지난 글을 보면서 유저와 데이타베이스는 만들었다고 가정하고 해보겠다.

settings.py 파일 수정

pgadmin 접속

pgadmin에 접속해서(지난글 참고) database이름과 owner 이름을 확인해준다.

이제 settings.py 파일에서 수정해주면 된다.

원래는 아래와 같이 적혀있다.

settings 파일

여기서 enging, name 등등을 수정한다.

settings 수정

‘ENGINE’: ‘django.db.backends.postgresql_psycopg2’,
‘NAME’: ‘ipoapp’,
‘USER’: ‘ipo’,
‘PASSWORD’: ‘비번’,
‘HOST’: ‘127.0.0.1’,
‘PORT’: ‘5432’

요렇게 바꿔주면 된다.

비번은 지난글 보면서 유저를 생성했을 때 설정한 비밀번호다.

다음은 실제 장고와 postgrql을 실제 연결 연동하는 명령어다.

‘python manage.py migrate’ 이다.

data-full-width-responsive="true">

새로 연결한 DB에 접속

이제 서버를 켜보자.(명령어 python manage.py runserver)

그리고 127.0.0.1/admin 에 접속한다.

접속이 될까?

안된다.

DB가 바뀌면서 전에 생성했던 슈퍼유저 계정도 사라진 것이다.

새롭게 슈퍼유저 계정을 만들어줘야 한다.

명령어 ‘python manage.py createsuperuser’

관리자 화면에 접속할 id와 패스워드를 설정하게 되는데 postgresql에서 설정한 것과 같은 것으로해야 헛갈리지 않을 것이다.

DB 연동 확인

admin화면에서 db에 뭔가 하나 작성해보자.

장고 admin페이지

이번엔 pgadmin4 화면에서 확인해보자.

postgre table

Database > 앱이름 > Schemas > public > Tables 에 뭔가가 생성됐다면 연결이 됐다는 것이다.

이제 마음껏 db를 채워보자.

관련글

You may also like...

댓글 남기기

이메일은 공개되지 않습니다.