Django setting.py 설정 Tip

1897 단어 djangodjango

Django project생성시 project이름의 폴더 밑에 settings.py 파일이 있는데 여기서 Django Framework의 기능을 사용하는데 필요한 옵션을 추가하거나 막을 수 있다. project 생성시 다음과 같이 기본 설정을 해주면 좋다.

# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True

ALLOWED_HOSTS = ['*']

# Application definition
?
INSTALLED_APPS = [
    #'django.contrib.admin',
    #'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'corsheaders',
]
  
MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    #'django.middleware.csrf.CsrfViewMiddleware',
    #'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
    'corsheaders.middleware.CorsMiddleware',
]
  1. ALLOWED_HOSTS는 service에 접근할 수 있는 ip endpoint를 강제로 지정하고 싶을때 사용하는 list로 모두 허용을 원하면 '*'를 입력.
  2. INSTALLED_APPS 는 Django에서 사용할 App을 지정하는 것으로 admin, auth는 관리, 인증관련 app이므로 주석 처리한다.
    프론트엔드와 통신을 할 때에는 서로 다른 port로 접속을 시도합니다. 이를 허용해주기 위하여 INSTALLED_APPS에 기존 설정 사항 아래에 corsheaders를 추가해줍니다.
  3. MIDDLEWARE 는 csrf, middleware 중 위 2개를 주석처리 및 'corsheaders.middleware.CorsMiddleware'를 추가.
  4. cors 관련하여 settings.py 끝에 다음 코드 추가
##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',
)

좋은 웹페이지 즐겨찾기