가상환경 및 패키지 설치 & 프로젝트 생성
가상환경 생성
conda create -n 가상환경명 python=3.8
conda activate 가상환경명
프로젝트에 필요한 파이썬 패키지 설치
pip install django
pip install django-cors-headers
pip install mysqlclient
Django project 생성
django-admin startproject 프로젝트명
Project setting
.gitignore 설정
touch .gitignore
vi .gitignore
my_settings.py
*.csv
- 깃에 공유되어서는 안되는 것들(보안 관련 파일)을
.gitignore
파일을 생성해서 관리한다.
- .gitignore에서 생성된 내용을 복사하여 프로젝트 디렉토리 내
.gitignore
파일에 추가한다.
보안을 위한 my_settings.py 생성
DATABASES = {
'default' : {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'DATABASE 명',
'USER': 'DB접속 계정명',
'PASSWORD': 'DB접속용 비밀번호',
'HOST': '실제 DB 주소',
'PORT': '포트번호',
}
}
SECRET = {
'secret':'시크릿키',
}
- SECRET_KEY, DATABASE 등은 별도의 파일이나 환경변수로 관리하는것이 좋다.
- 외부 API(SNS 로그인, AWS 접속용 정보 등)도 기록할 수 있다.
settings.py 설정
pip install django-cors-heaers
import my_setting
SECRET_KEY = my_settings.SECRET_KEY
DATABASES = my_settings.DATABASES
INSTALLED_APPS = [
...
'corsheaders',
]
MIDDLEWARE = [
'corsheaders.middleware.CorsMiddleware',
...
]
APPEND_SLASH = False
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',
)
requirements.txt 생성
pip freeze > requirements.txt
- 팀 프로젝트에서는 동일한 환경을 구성할 수 있도록 정보를 전달해야 한다.
Database 생성
mysql.sever start
mysql -u root -p
create database 데이터베이스명 character set utf8mb4 collate utf8mb4_general_ci;
python manage.py migrate