Django project 초기설정

Kay·2020년 2월 23일
2
post-custom-banner

Django project를 실제 배포용으로 진행하는 경우, 아래와 같은 몇 가지 초기설정이 필요하다.

사용하지 않는 기능 주석처리

settings.py를 열고, admin, auth, csrf 등 사용하지 않는 기능을 주석처리 한다.
urls.py에서도 import 된 admin과 아래 주소를 삭제해야 mirgrate 할 때 오류가 나지 않는다.

++ app urls.py에서 '/sign-up'과 같이 '/'를 앞에 두면 migrate할 때마다 경고가 뜨는데 아래 설정을 settings.py에 넣어두면 안 뜬다

##Stop Warning about '/' APPEND_SLASH=False

corsheaders

corsheaders 플러그인을 설치해두지 않으면 localhost가 아닌 외부에서 내 서버에 접속 할 때 에러가 발생할 수 있다.

  • 아래 명령어로 플러그인 설치
    pip install django-cors-headers

  • settings.py의 INSTALLED_APPS와 MIDDLEWARE에 추가 (위 이미지 참고)

  • 하단에 허용할 값 정의

##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',
)

➕DEBUG = FALSE로, ALLOWED_HOST = [*] 혹은 한국 IP 만 으로 설정.

DATABASE, SECRET_KEY 관리용 파일 생성

django project의 manage.py가 있는 디렉토리에서,
touch my_settings.py 혹은vi my_settings.py로 새로운 파일을 생성한다.

my_setting.py 안에 아래 예시와 같이 데이터베이스와 시크릿키 정보를 담는다.

DATABASES = {
    'default' : {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': '#데이터베이스 이름',
        'USER': '#유저(root)',
        'PASSWORD': '#패스워드',     
        'HOST': 'localhost',
        'PORT': '3306',
    }
}

SECRET = {
        'secret':'시크릿키',
}

이 설정을 적용하려면 settings.py도 함께 수정해야한다.

my_setting를 import,
import my_settings

기존 database, secret key 부분을 삭제한 뒤 my_settings.py 파일 안에 있는 설정을 참조하도록,

DATABASES = my_settings.DATABASES
SECRET_KEY = my_settings.SECRET

입력 후 저장하면 끝.

.gitignore

마지막으로, .gitignore 를 이용해서 유저의 DB정보와 password, SECRET KEY 등이 들어있는 my_settings.py를 git에 업로드 되지 않도록 관리해주어야 한다.(진짜 중요함)

https://www.gitignore.io/
이 사이트를 이용하면 운영체제, 개발환경, 프로그래밍 언어에 맞는 .gitignore에 담아야할 내용을 생성해준다.
✔️ 권장 키워드 : Vim, Linux, macOS, Django, Python

my_settings.py와 동일하게 django project의 manage.py가 있는 디렉토리에서, touch .gitignore 혹은vi .gitignore로 새로운 파일을 생성 후 위의 내용과 my_settings.py를 담아 저장한다.

❗️git에 최초로 업로드 하기 전에 .gitignore 파일을 생성해야 제외되고, 이미 업로드 된 상태에서 .gitignore 파일을 생성하면 기존 내용이 삭제 되지 않으니 주의필요.

끝.

profile
new blog✨ https://kay-log.tistory.com/
post-custom-banner

0개의 댓글