Djnago

[Django] 기본 세팅

UnoCode 2020. 7. 16. 14:40

1. gitignoe 

 

소스를 공유하기 위해 깃을 사용하지만 올리고 싶은것 올리고 싶지 않은것, 올려서는 안되는 것들이 존재합니다. 이를 구분하기 위해 깃이 설치된 디렉토리에 .gitignore파일을 생성해서 관리해야 합니다.

 

2, turn into commentary

 

주석처리를 해야 하는 요소

 

 

cors에 대한 처리를 원할 하게 처리해주 플러그인 django-cors-headers를 설차

 

 

Django CORS 설정과 API 연동

API 서버를 만들때 가장 염려스러운 부분은 Cross Domain 이슈다. 그도 그럴게 Ajax 통신(Asynchronous Javascript XML)을 통한 데이터 송수신에서 대부분 발생하는 이슈는 Cross Domain 이슈라서 그렇다. 이 부..

blog.thereis.xyz

 

pip install django-cors-headers
INSTALLED_APPS = [
...
		'django.contrib.staticfiles',
		'corsheaders'
]
MIDDLEWARE = [
	...
		'corsheaders.middleware.CorsMiddleware',
	...
]
ALLOWED_HOSTS = ['*']
#REMOVE_APPEND_SLASH_WARNING
APPEND_SLASH = False

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

 

모든 내용은 settings.py 안에 기록 하시면 됩니다.

 

3. requirements.txt 작성

 

팀 프로젝트를 진행한다느 것은 서로 공유된 코드를 작성한더는 것을 의미하니다.

 

자기의 설정값을 팀원들에게 알려야 합니다 node의 페키지.json이라고 생각하시면 됩니다.

 

pip freeze > requirements.txt

 

위 명령은 리눅스에서 테스트 하였습니다.

 

4. 보안을 위한 설정

 

코드중 mysql 비빌번호와 같은 세상 밖으로 내보내서는 안될 것들이 있습니다.

 

그러한 내용을 따로 보관하고 import에서 사용하도록 합시다

 

ex ) 

 

DATABASES = {
    'default' : {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'DATABASE 명',
        'USER': 'DB접속 계정명',
        'PASSWORD': 'DB접속용 비밀번호',
        'HOST': '실제 DB 주소',
        'PORT': '포트번호',
    }
}

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

 

이러한 정보를 my_settings에 저장을 했다면 사용할따는 import my_settings로 불러옵시다 !! gitignore에도 뺴는건 기본!!

import my_settings
DATABASES = my_settings.DATABASES