위스타그램 프로젝트를 위해 새로운 가상 환경을 설정
가상환경 생성
conda create -n westagram python=3.8
가상환경 활성화
conda activate westagram
장고 설치
pip install django
프로젝트 생성
django-admin startproject project_westagram
기본설정
INSTALLED_APPS에서 사용하지 않을 앱 삭제
INSTALLED_APPS라는 속성에서 django.contirb.admin과 django.contrib.auth는 사용하지 않습니다. 주석처리 해주세요.
INSTALLED_APPS = [ # 'django.contrib.admin', # 'django.contrib.auth', ... ]
MIDDLEWARE에서도 csrf관련 요소와 auth관련 요소를 주석처리 해주세요.
MIDDLEWARE = [
...# 'django.middleware.csrf.CsrfViewMiddleware', # 'django.contrib.auth.middleware.AuthenticationMiddleware',
]
외부 접속허용
Django를 설치해둔 가상환경을 실행시켜 주세요.
conda activate westagram
ALLOWED_HOSTS 추가
, 프로젝트 진행시 여러 아이피 주소를 허용해야 하기에 *을 이용하여 모두 허용해줍니다
ALLOWED_HOSTS = ['*']
INSTALLED_APPS에 corsheaders 추가
CORS에 대해 공부해보세요. 프론트엔드와 통신을 할 때에는 서로 다른 port로 접속을 시도합니다. 이를 허용해주기 위하여 INSTALLED_APPS에 기존 설정 사항 아래에 corsheaders를 추가해줍니다.
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'corsheaders',
]
middleware 추가
MIDDLEWARE = [ ... 'corsheaders.middleware.CorsMiddleware', ]
설정 파일 제일 아래에 다음 코드를 추가해주세요.
##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',
#만약 허용해야할 추가적인 헤더키가 있다면?(사용자정의 키) 여기에 추가하면 됩니다.
)