[Infra] MsSQL과 장고(django) 연결하기

업데이트:

MsSQL과 장고(django) 연결하기

참고링크

운영체제 프론트엔드 백엔드 데이터베이스 인프라
리눅스구조 js필터 아파치에러로그 행삭제 아파치스쿱
프로세스 헬로월드 웹서버개념 ES기초 로그분석
네임스페이스 프로젝트생성 아파치설치 MySQL기초 beeline
디렉토리 헤더생성 flask연동 큐브리드 하둡기초
리다이렉션 async-get 장고MsSQL연결 null공백 나이파이
쓰레드 async-post 장고MySQL연결 MySQL설치(win) 백본
라즈베리파이설치 로그인페이지 장고inpectdb MySQL테이블생성 제플린
OSI7계층소개   장고read   SSL인증
OSI1계층   장고insert   커버로스
OSI2계층   장고put   도커개념
OSI3계층   장고del   도커설치
OSI4계층   flask한글요청   도커기초
OSI5,6,7계층       도커이미지
DNS서버       컨테이너네트워크
DHCP       도커API
bashrc       도커컴포즈
bash       도커볼륨
ifconfig       장고이미지
소켓프로그래밍       도커postgre
리눅스유저생성       도커이미지삭제
netstat포트열기       도커Redis
컴파일러       k8s구조
운영체제vs커널       k8s설치
작업스케쥴링       k8s서비스배포
디스크추가       POD네트워크
aws유저추가       퍼시스턴트볼륨
기초명령어       k8s에러
포트번호        

참고 링크

1. 장고 프로젝트 생성하기

본 예제는 윈도우 11 환경에서 실행했습니다.

먼저 테스트에 사용할 장고 프로젝트를 생성하겠습니다. 아나콘다 프롬프트를 열고 자신의 가상환경을 실행하고 자신이 프로젝트를 생성하고 싶은 폴더로 이동해 프로젝트를 생성해줍니다.

(py3_9_7)$ django-admin startproject dbcontest

프로젝트를 생성했으면 mssql과 장고를 연동하기 위해 필요한 라이브러리인 mssql-django를 다음과 같이 설치해줍니다.

(py3_9_7)$ pip install mssql-django

2. setting.py 수정

저는 IDE로 인텔리제이를 사용하므로 인텔리제이를 실행해서 해당 장고 프로젝트를 열어줍니다. 이때 터미널은 기본 cmd로 설정해도 conda 명령어가 먹히므로 conda activate py3_9_7커맨드를 사용하면 가상환경을 활성화 할 수 있습니다.

본격적으로 mssql과 장고를 연동하기 위해 setting.py를 다음과 같은 코드로 수정합니다.

DATABASES = {
    'default': {
        'ENGINE': 'mssql',
        'NAME': 'LIVING_PARADISE',
        'USER': 'erp_test',
        'PASSWORD': '1234',
        'HOST': '10.1.55.202',
        'PORT': '1433',
    }
}

참고로 위 코드에서 Mssql의 기본 포트는 1433 입니다.

3. 연동 확인

MsSQL과 장고가 연동되었는지 확인해보기 위해 다음과 같이 migrate를 해봅니다.

(py3_9_7)$ python manage.py migrate

Operations to perform:
  Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  ...(중략)

그리고 장고가 잘 실행되는지 봅시다.

(py3_9_7)$ python manage.py runserver

Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).
May 31, 2022 - 09:25:46
Django version 4.0.4, using settings 'dbcontest.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.

그리고 실제로 MsSQL 테이블이 생성되었는지 MsSQL을 실행해 확인해봅니다.

위 그림과 같이 잘 연동된 것을 볼 수 있습니다.