[Web Project #2] Django, MySQL 연동

nunu·2023년 7월 27일
0

Baseball

목록 보기
2/6

이번엔 저번시간에 만들어 놓은 Django 프로젝트에 MySQL을 연결해볼 것이다.

MySQL install

사실 저번에 연결을 시도 해봤는데 계속 이런 에러가 떠서 실패했던 부분였다.

Spring 공부할때도 DB 연결하면서 너무 애를 먹어서 nodejs로 갈아탓던 전적이 있던 나는 정말 겁을 많이 먹고 내일 다시 해봐야지 하면서 살짝 미뤄뒀다.
하지만 이제는 다시 해결해야될때!

일단 마지막 줄에서 pip 업그레이드를 하라고 하는 것 같기에 업그레이드 먼저 해줬다.

그리고 pip install mysqlclient 구글링을 해보니 설치해야할 .whl 파일을 직접 다운 받아서 설치하도록 해보라고 해서 한번 해봣다!

https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient

이 링크에 들어가면 다음과 같이 mysqlclient whl파일이 존재하는데 아무리봐도 mac os는 없어 보였다.
일단 시도는 해보자는 생각으로 다운 받아서

pip install 다운경로/mysqlclient‑1.4.6‑cp39‑cp39‑win_amd64.whl

로 실행을 해봤는데
역시나 에러가 발생했다.

다시 mac pip install mysqlclient 에러 구글링을 해보니까
homebrew 사용해 mysql설치하고 다시 시도해보라고 나와서 해봣더니?!

brew install mysql pkg-config

pip install mysqlclient

brew install mysql pkg-config 실행

pip install mysqlclient 실행

다음과 같이 성공~

Django DB setting

이때 db 접속 정보를 git에 모두 올려버리면 보안상의 문제가 생길수 있기 때문에 .gitignore파일을 만들어 git에 push 할 때 리스트 안에 있는 파일들은 무시하고 파일을 push할 수 있게 한다.

https://www.toptal.com/developers/gitignore
위 링크에 방문하면 사용하는 OS, IDE, 개발언어에 맞는 .gitignore 파일을 자동으로 생성해줘서 이를 사용해 보았다.

자신의 개발 환경을 선택한 후 생성 버튼을 누르면

이렇게 자동으로 생성해준다.
이 내용을 프로젝트 내부에 .gitignore파일을 생성해 복사 붙여넣기 해주면 끝!


이제 local_setting.py 파일 안에 보안상에 문제가 있는 내용을 저장해 줄 것이다.

setting.py 안에 있는 DATABASES 내용을 잘라와서 붙여넣고
MySQL에 맞게 수정해줬다.

그리고 setting.py 안에 SECRET_KEY 부분도 오려내서 붙여준다.

이제 setting.py에 local_setting.py 를 불러온 다음에 DATABASES, SECRET_KEY 변수에 각각 값을 저장해주면 보안을 고려한 설정도 완료!

이제 python migrate를 해보자

python manage.py migrate

이렇게 하면 MySQL과 Django 연결에 성공한것이다!

참고 사이트 :
https://okeybox.tistory.com/315
https://vesselsdiary.tistory.com/121
https://seill.tistory.com/1139

profile
Hello, I'm nunu

1개의 댓글

comment-user-thumbnail
2023년 7월 27일

좋은 정보 얻어갑니다, 감사합니다.

답글 달기