Django/응용

Django에 MySQL 연동하기 (DB 연동)

민돌v 2021. 5. 19. 01:05
728x90

1. 커넥터 설치

pip install mysqlclient 

2. settings.py 설정

django project의 manage.py가 있는 디렉토리에서,
touch my_settings.py 혹은vi my_settings.py로 새로운 파일을 생성한다.

touch my_settings.py

이렇게 하는 이유는, github에 올릴때나 다른 외부로부터 개인정보, DB를 보호하기 위함이다.

#1 :사용할 엔진 설정
#2 : 연동할 MySQL의 데이터베이스 이름
#3 : DB 접속 계정명
#4 : 해당 DB 접속 계정 비밀번호
#5 : 실제 DB 주소
#6 : 포트번호

#my_settings.py
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql', #1
        'NAME': 'test', #2
        'USER': 'root', #3                      
        'PASSWORD': 'password',  #4              
        'HOST': 'localhost',   #5                
        'PORT': '3306', #6
    }
}
SECRET_KEY ='기존 settings.py에 있던 시크릿키를 붙여넣는다'

그후에는  settings.py를 수정해준다.
my_settings를 불러온다

 

# DATABASES = {
#     'default': {
#         # 'ENGINE': 'django.db.backends.sqlite3',
#         # 'NAME': BASE_DIR / 'db.sqlite3',
#         'ENGINE': 'django.db.backends.mysql',
#         'NAME': 'db name',
#         'USER' : 'user name',
#         'PASSWORD' : 'password',
#         'HOST':'localhost',
#         'PORT':'port number'
#     }
# }

DATABASES = my_settings.DATABASES

SECRET_KEY = my_settings.SECRET_KEY

기존의 db정보는 주석과 같고, my_settings.py를 이용하면 간단하게 표현이 가능하다.


3. 연동된 db table 자동 생성

python manage.py inspectdb

- 주르륵 자동으로 테이블이 나옴

- 복사해서 models.py 업데이트

 

 

(출처)

https://hae-ong.tistory.com/25

 

Django와 MySQL 연동하기

파일구조 프로젝트명 > 앱> templates > index.html 기존의 데이터베이스를 연결하는 법 1. 커넥터 설치 Python에서 MySQL 서버와 통신을 할 수 있게 해주는 파이썬 용 데이터베이서 커넥터(Databaser Connector).

hae-ong.tistory.com

 

반응형