- mysql 실행
mysql -u root -p
- mysql DB 생성
CREATE DATABASE DB명 CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
- conda 가상 환경 설정
conda create -n 가상환경명 python=3.8
- 가상 환경 실행
conda activate 가상환경명
- 장고 설치
pip install django
- mysql client 설치
pip install mysqlclient
- 기타 필요한 프로그램 설치
- 프로젝트 만들기
django-admin startproject 프로젝트명
- git ignore 설정
gitignore.io에서 django, python, macos 추가하고 파일 받아오기
- manage.py 있는 디렉토리(=프로젝트 디렉토리)에서 .gitignore 생성 후 붙여넣기
vi .gitignore
- .gitignore 파일에 설정 추가
### Django ###
...
my_settings.py
*.csv
- 같은 디렉토리에서 my_settings.py 만들어서 DB 정보와 시크릿키 정보 저장
DATABASES = {
'default' : {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'DATABASE 명',
'USER': 'DB접속 계정명', # root
'PASSWORD': 'DB접속용 비밀번호',
'HOST': '실제 DB 주소', # 로컬에서만 작업할 거면 localhost 입력
'PORT': '포트번호', # 3306
}
}
SECRET = {
'secret':'시크릿키', # 프로젝트 메인 폴더 안 settings.py에서 확인
}
DB 계정 정보와 암호화, 복호화 시 사용하는 시크릿키는 외부에 노출되면 안 되므로 별도 세팅 파일에 작성한 후 github에 올라가지 않도록 한다. 7~9번 작업이 이것을 위한 것.
- settings.py에서 시크릿키값 숨기기 및 DB 설정
...
import my_settings
...
SECRET_KEY = my_settings.SECRET['secret']
...
...
DATABASES = my_settings.DATABASES
...
- settings.py의 INSTALLED_APP과 MIDDLEWARE에서 admin, csrf 관련 항목 주석처리
- 3000포트(프론트)에서도 접속할 수 있도록 cors 설치
pip install django-cors-headers
- settings.py INSTALLED_APP과 MIDDLEWARE에 항목 추가
INSTALLED_APPS = [
...
'django.contrib.staticfiles',
'corsheaders'
]
MIDDLEWARE = [
...
'corsheaders.middleware.CorsMiddleware',
...
]
- settings.py 가장 아래에 cors 허용값 입력
...
##CORS
CORS_ORIGIN_ALLOW_ALL=True
CORS_ALLOW_CREDENTIALS = True
CORS_ALLOW_METHODS = (
'DELETE',
'GET',
'OPTIONS',
'PATCH',
'POST',
'PUT',
)
CORS_ALLOW_HEADERS = (
'accept',
'accept-encoding',
'authorization',
'content-type',
'dnt',
'origin',
'user-agent',
'x-csrftoken',
'x-requested-with',
#만약 허용해야할 추가적인 헤더키가 있다면?(사용자정의 키) 여기에 추가하면 됩니다.
)
- 외부에서도 접속 가능하도록 settings.py ALLOWED_HOSTS 설정 변경
...
ALLOWED_HOSTS = ['*']
...
- 서버가 잘 돌아가는지 확인
mysql.server start
python manage.py runserver 0:포트번호
포트번호는 보통 8000이며, 외부 접속용으로 서버를 띄울 땐 포트번호 앞에0:
를 붙어야 한다.