프로젝트를 진행하기 위해서 기존에 구축해놓은 DB를 이용하기 위해 django와 mariaDB를 연동하여야 한다. mariaDB가 mySQL를 기반으로 만들어진 DB라 그런지 mySQL과 연동 방식이 같다.
1. 'mysqlclinet' 설치
Django와 MySQL을 연결시켜주는 'mysqlclient'를 설치한다. 'mysqlclient'는 mySQL과의 통신을 도와주는 python interface라고 한다.
pip install mysqlclient
2. 'my_settings.py' 생성
manage.py 파일이 있는 디렉토리에 my_settings.py 파일을 생성한다. 처음 django 프로젝트를 생성하였을 때를 기준으로는 가장 상위 폴더에 생성하면 된다.
touch my_settings.py
만약 'touch' is not recognized as an internal or external command, operable program or batch file 이런 오류가 뜨면
touch CLI가 설치되어 있지 않는 것이기 때문에 아래 명령어로 설치해주면 된다.
npm install touch-cli -g
3. my_settings.py 설정
my_settings.py 에서 database에 대해 설정하고 secret_key를 적어준다.
여기서 SECRET_KEY는 settings.py에 있는 secret_key를 복사해오면 된다.

engine: 사용할 DB 엔진
name: DB 이름
user: DB에 접속할 계정
password: DB 접속 계정 비밀번호
host: 실제 DB 주소 (개발 중에는 local에서 작업하기 때문에 보통 localhost)
port: 포트번호 (처음 DB 설정할 때 기본값으로 3306으로 설정된다)
3. settings.py 수정
원하는 데이터베이스를 프로젝트에서 사용하기 위해 settings.py를 변경해준다.
import my_settings.py
DB 설정을 위해 만들어 놓은 파일을 import 하고 SECRET_KEY와 DATABASES를 my_settings.py의 것으로 바꾸어준다.


settings.py 파일에서 직접 변경해도 되는데 굳이 my_settings.py를 생성해서 변경하는 이유는 github에 올릴 때나 다른 외부로부터 개인정보, DB를 보호하기 위해서 라고 한다.
4. 연동 확인
python manage.py inspectdb
위 명령어로 연동된 DB의 모델들을 볼 수 있다.

여기서 출력된 model을 복사해서 사용하면 된다. (복사하지 않고 임의로 쓰다보면 변수명 관련하여 오류가 발생하기도 한다...알고 싶지 않았습니다...)
<참고>
https://hae-ong.tistory.com/25
Django와 MySQL 연동하기
파일구조 프로젝트명 > 앱> templates > index.html 기존의 데이터베이스를 연결하는 법 1. 커넥터 설치 Python에서 MySQL 서버와 통신을 할 수 있게 해주는 파이썬 용 데이터베이서 커넥터(Databaser Connector)
hae-ong.tistory.com
'touch' is not recognized as an internal or external command, operable program or batch file
I work with laravel 5 , when i type in windows cmd this command "touch storage\database.sqlite" this error message rise 'touch' is not recognized as an internal or external command, operable prog...
stackoverflow.com
'Django' 카테고리의 다른 글
| [Python] package 목록 관리 (requirements.txt) (6) | 2023.10.05 |
|---|---|
| [Python] 가상 환경이란? (Virtual Environment) (1) | 2023.10.05 |
| [Django] DRF JWT 인증 방식을 이용한 회원가입 & 로그인 (3. 이메일 로그인/로그아웃) (4) | 2023.09.01 |
| [Django] DRF JWT 인증 방식을 이용한 회원가입 & 로그인 (2. 이메일 회원가입) (3) | 2023.08.18 |
| [Django] DRF JWT 인증 방식을 이용한 회원가입 & 로그인 (1. User Custom) (3) | 2023.08.18 |