728x90

1. SECRET_KET, DATABASE정보 숨김(필수)

깃허브에 업로드를 하게되면 여러가지 보안관련 문제가 생길수 있기때문에 위의 2가지는 깃허브에 올리기전 따로 빼서 저장을 해줘야합니다. 방법은 여러가지가 있는데 제가 자주사용하는 방법으로 알려드리겠습니다.

 

프로젝트 폴더에 my_settings.py를 생성해줍니다. 여기서 my_settings는 임의의 이름으로 다른 이름으로 변경해주셔도 무방합니다. 

 

-프로젝트폴더/my_settings.py

MY_SECRET = {
    "SECRET_KEY" : "settings.py 내부의 secret키"
}

MY_DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': '프로젝트명',
        'USER': 'root',
        'PASSWORD': 'mysql비밀번호',
        'HOST': 'localhost',
        'PORT': '3306',
    }
}

여기서 MY_SECRET, MY_DATABASES도 임의의 이름이므로 다른 이름으로 변경해주셔도 됩니다.

장고는 기본 database가 splite3로 설정되어있어 sqlite3를 계속 사용하실분들은 따로 설정을 하지 않으셔도 되지만 mysql이나 postgresql등 다른 database를 사용하실 분들은 반드시!! 설정해주셔야 합니다!!!!!x100

 

-프로젝트폴더/settings.py

from .my_settings import MY_SECRET, MY_DATABASES

SECRET_KEY = MY_SECRET['SECRET_KEY']

DATABASES = MY_DATABASES

이후엔 위와 같이 바꿔주시면 됩니다.

이제 깃허브에 올릴때 my_settings.py가 push되면 안되니 .gitignore파일에 가서 my_settings.py를 추가하신후 저장하고 gitpush를하면 중요정보들이 가려져서 가는것을 알수 있게 됩니다! 끝입니다!!

 

2. INSTALLED_APPS관련(선택)

사실 이부분은 필수가 아닌 선택의 영역인데 혼자서 간단한 프로젝트를 만드실땐 물론 상관은 없겠지만 이후 큰 프로젝트를 하거나 관련 라이브러리를 설치하게 되면 수없이 많은 것들을 추가하게 될텐데 나중가면 너무 복잡해져서 어떤걸 설치했는지 헷갈리게 됩니다. 그래서 처음부터 이걸 분리하면 편합니다.

-settings.py

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'app1',
    'app2',
    'app3',
    '
    '
    '
]

계속해서 추가할경우 위와 같이 될텐데 이걸 분리하는 저만의 방식은

DJANGO_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

PROJECT_APPS = [
    'startapp1',
    'startapp2',
    'startapp3',
]

THIRD_PARTY_APPS = [
	'설치 라이브러리1',
    '설치 라이브러리2',
]

INSTALLED_APPS = DJANGO_APPS + PROJECT_APPS + THIRD_PARTY_APPS

위와같이 변경해주면 매우 편합니다. 주석을 사용한 방식도 해봤지만 지금까지는 위의 방식이 가장편하다고 느끼고 있습니다!

 

3. timezone설정(선택)

LANGUAGE_CODE = 'en-us'

TIME_ZONE = 'Asia/Seoul'

원래는 TIME_ZONE이 UTC로 설정되어있을텐데 본인이 다른나라에 있지 않은이상 왠만하면 Asia/Seoul로 설정을 해주시고 LANGUAGE_CODE같은경우는 한국어로 보고싶으면 ko-kr로 하시면 되지만 저같은경우 영어는 못하더라도 장고에서는 영어가 익숙해서 en-us(기본값)로 설정해놨습니다!

728x90

+ Recent posts