프로젝트마다의 독립적인 패키지 관리를 위해서 가상환경을 생성한다.
# 가상환경 생성
conda create -n '가상환경 이름' python=3.9
# 가상환경 활성화
conda activate '가상환경 이름'
Django의 APP과 연동시킬 DB를 먼저 생성해준다. Django는 기본적으로 sqllite3인 DBMS가 내장되어 있다. 그렇지만 여기서는 sqllite3가 아닌 MySQL과 연동하고자 한다.
# mysql 접속
mysql -u root -p
# DB 생성
create database "DB 이름" NAME character set "인코딩 방식 작성 ex. utf8";
# django 설치
pip install django
# MySQL server에 접속하기 위한 package 설치
pip install mysqlclient
# django와 mysqlclient 설치 확인하기
pip freeze # 입력 후 django와 mysqlclient가 화면에 나오는지 확인
cd "프로젝트 생성될 경로"
django-admin startproject "프로젝트 이름"
cd "프로젝트 이름"
pip install django-cors-headers
vi settings.py
# setting.py
INSTALLED_APPS = [
...
'corsheaders' # 위에서 설치한 크로스 도메인 패키지 설치
]
MIDDLEWARE = [
...
'corsheaders.middleware.CorsMiddleware', # 위에서 설치한 크로스 도메인 패키지 설치
...
]
DATABASES = {
'default' : {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'DATABASE 명',
'USER': 'DB접속 계정명',
'PASSWORD': 'DB접속용 비밀번호',
'HOST': '127.0.0.1',
'PORT': '3306',
}
}
# 맨 아래에 CORS 추가 설정 작성하기
##CORS
CORS_ORIGIN_ALLOW_ALL=True
CORS_ALLOW_CREDENTIALS = True
CORS_ALLOW_METHODS = (
'DELETE',
'GET',
'OPTIONS',
'PATCH',
'POST',
'PUT',
) # 허용할 http 메소드
CORS_ALLOW_HEADERS = (
'accept',
'accept-encoding',
'authorization',
'content-type',
'dnt',
'origin',
'user-agent',
'x-csrftoken',
'x-requested-with',
)
cd "manage.py 가 있는 경로"
python manage.py runserver
명령어 실행 시 아래와 같이 터미널에 출력된다.
http://127.0.0.1:8000/ 에 접속하여 아래와 같이 페이지가 뜨면 성공이다.