여기서는 MySQL 이 컴퓨터에 이미 설치되어 있고, 내 프로젝트 이름인 mysite 와 동일한 데이터베이스가 생성되어 있다는 것을 전제로 한다.
Mysql 은 파이썬도, 장고도 아닌 별도의 프로그램이다. 엑셀같은 것이라고 생각하면 된다. 사용을 하기 위해서는 로그인을 해야 하기 때문에 장고 코어부분의 settings.py 파일에서 DATABASE 부분을 수정해주어야 한다. 아래와 같은 부분을 찾는다
mysite / mysite / settings.py
# Database
# https://docs.djangoproject.com/en/3.1/ref/settings/#databases
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}
지금은 기본셋팅으로 sqlite3 가 연결되어 있다. sqlite3 의 경우 매우 미니멀한 데이터베이스이기 때문에 로그인이고 뭐고 없다. 그냥 ENGINE 에 이름 설정해주고, 폴더안에 함께 있던 db.sqlite3 파일을 연결해주기만 하면 끝났다. 하지만 Mysql(MariaDB)의 경우 접속주소, 접속포트, 아이디, 패스워드를 함께 넣어주어야만 한다. 그러니깐 아래와 같이 고쳐주면 된다.
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'mysite',
'HOST': '127.0.0.1',
'PORT': '3306',
'USER': 'root',
'PASSWORD': 'password',
}
}
ENGINE 부분은 맨 뒷부분 sqlite3 가 mysql 로 변경되었을 뿐이고, 'NAME' 는 데이터베이스 명이라고 생각하면 되겠다 (역할이 맞는지는 잘 모르겠으나 아무튼 그렇다고 생각하자. 본인도 모든걸 다 알지 못하는 초보다. 본인 역시 공부하고자 알려주는 중임은 기억해주면 좋겠다)
HOST 는 mysql 이 설치된 위치다. 127.0.0.1 은 현재 작업중인 컴퓨터와 동일함을 의미한다. port 기본은 3306 이다 바꾸어도 되지만 몇몇 포트는 사용할 수 없으므로 그냥 기본이 좋다. USER 는 ID 이고 password 는 당연해 비밀번호이니 말해뭐하겠는가, 자유롭게 설정하면 된다.
이렇게만 해주면 Mysql 과 장고의 연동이 끝난다. 너무나도 간단해서 환장할 것 같다.
'개발 > PYTHON-DJANGO' 카테고리의 다른 글
파이썬 DJANGO 로그인/로그아웃 사용시 settings.py 추가 항목 (0) | 2021.09.26 |
---|---|
PYTHON > DJANGO > MYSQL 시작 (0) | 2021.09.02 |
파이썬 장고 5. include, extend,block 을 사용한 템플릿구성 (0) | 2021.06.21 |
파이썬 장고 4. 직접코드에서 템플릿 연결로 변경 (0) | 2021.06.21 |
파이썬 장고 3. 연습1 - Hello World (0) | 2021.06.21 |