저번 글과 이어진다.
기본적으로 프로젝트를 하나 만들었다고 가정하고 진행을 하겠다.
(혹시 만들 줄 모른 사람을 위해 간단한 명령어만 남기겠다.)
django-admin startproject 프로젝트명 .
python manage.py startapp 앱이름
현재 장고에서 제공해주는 db는 sqlite이다.
하지만 우리는 mysql로 사용할 것이기 때문에 이를 이용한다.
window + r > cmd > mysql -u root -p > 패스워드 입력
mysql 버전 command line client
에 들어가서 패스워드 입력우리는 온라인 쇼핑몰을 만들거기 때문에 onlineshop_db로 지정해주겠다.
대소문자 구분을 따로 하지 않으니 편하게 소문자로 쓰겠다.
create database onlineshop_db default character set utf8;
show databases;
이렇게 onlineshop_db가 보인다면 성공!
create user '계정이름'@localhost identified by '비밀번호';
이렇게 만들어진 계정은 아직 권한이 없다.
grant all privileges on onlineshop_db.*to'계정이름'@'localhost';
만약 실전이었다면 all로 주지 않겠지만 지금은 연습이므로 모든 권한을 주겠다.
flush privileges;
부여한 것에 대한 적용이 필요하다.
mysql -u '계정이름' -p
이렇게 까지 확인이 된다면 설정은 끝이난다.
config/settings.py
from config import mysettings
DATABASES = mysettings.DATABASES
config/mysettings.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'onlineshop_db',
'USER' : 'kimjy01',
'PASSWORD': '비밀이다 안알려줄것이다.',
'HOST':'localhost',
'PORT': '3308' #필자는 이미 사용하고 있는 포트가 있어서 3308이다. 처음하는 사람은 3306으로 하자.
}
}
pip install mysqlclient
원래 pymysql이라는 친구도 있지만 보안이나 뭐 이런것들로 인해서 mysqlclient를 사용한다.
python manage.py makemigrations
python manage.py migrate
python manage.py createsuperuser
이렇게 하면 기본적인 세팅은 끝났다.
다음에는 이걸 사용한 onlineshop을 만들 예정이다.