장고에서 데이터베이스 연결하기
장고의 기본 데이터베이스 설정
장고는 기본적으로 SQLite를 데이터베이스로 사용하지만, 다른 데이터베이스(MySQL, PostgreSQL 등)와도 쉽게 연결할 수 있습니다. 데이터베이스 연결 설정은 프로젝트의 settings.py 파일 내 DATABASES 항목에서 정의합니다. 기본적으로 제공되는 설정을 수정하여 사용할 데이터베이스 엔진, 이름, 사용자, 비밀번호 등을 지정할 수 있습니다. 예를 들어, PostgreSQL을 사용하려면 ENGINE을 'django.db.backends.postgresql'로 설정하고, 필요한 데이터베이스 정보들을 입력합니다.
데이터베이스 엔진 설정
장고는 다양한 데이터베이스를 지원하며, 이를 설정하는 방법은 DATABASES 설정에서 ENGINE 항목을 통해 지정할 수 있습니다. 예를 들어, SQLite를 사용하려면 ENGINE을 'django.db.backends.sqlite3'로 설정하고, PostgreSQL을 사용하려면 'django.db.backends.postgresql'을 설정합니다. 각 데이터베이스에 맞는 드라이버를 설치해야 하며, 예를 들어 PostgreSQL의 경우 psycopg2 라이브러리가 필요합니다. 이를 통해 프로젝트에서 다양한 데이터베이스를 유연하게 사용할 수 있습니다.
데이터베이스 연결 정보 설정
DATABASES 설정에서 NAME, USER, PASSWORD, HOST, PORT 등을 설정하여 데이터베이스의 연결 정보를 정의합니다. 예를 들어, PostgreSQL을 사용할 경우 NAME에는 데이터베이스 이름, USER와 PASSWORD에는 로그인 정보를 입력하고, HOST에는 데이터베이스 서버 주소를 입력합니다. 로컬 개발 환경에서 사용할 경우 HOST는 일반적으로 'localhost' 또는 '127.0.0.1'로 설정하며, 실제 운영 서버에서는 서버의 IP나 도메인 주소를 입력해야 합니다.
데이터베이스 마이그레이션
장고에서 데이터베이스 테이블은 모델 클래스를 바탕으로 자동으로 생성됩니다. 모델을 정의한 후에는 makemigrations와 migrate 명령어를 사용하여 데이터베이스 스키마를 업데이트합니다. python manage.py makemigrations는 모델의 변경 사항을 마이그레이션 파일로 생성하고, python manage.py migrate는 해당 마이그레이션 파일을 실행하여 데이터베이스에 테이블을 생성하거나 수정합니다. 이를 통해 데이터베이스와 모델 간의 동기화가 이루어집니다.
데이터베이스 연결 테스트
데이터베이스 연결 설정 후, 데이터베이스 연결이 정상적으로 이루어졌는지 테스트할 수 있습니다. python manage.py migrate 명령어를 실행하여 마이그레이션을 적용하면, 데이터베이스와의 연결 상태를 확인할 수 있습니다. 만약 연결에 문제가 있을 경우, 에러 메시지가 출력되어 문제를 해결할 수 있습니다. 데이터베이스 연결 후에는 Django의 ORM을 통해 데이터를 저장하거나 조회하며, 데이터베이스가 정상적으로 작동하는지 계속해서 확인할 수 있습니다.