logitech 프로젝트 초기세팅

DONGHYUN KOO·2020년 9월 14일
0

1차 프로젝트

목록 보기
1/4

로지텍 웹사이트의 클론 코딩을 위한 초기세팅을 진행하였습니다.

git clone 진행 (git clone:http://.......)

가상환경 설치 및 실행

conda  create-m "name"
conda activate "name"

장고 설치

pip install django

MySQL이 설치되어 있다는 가정하에 SQL client 실행

pip install mysqlclient

.gitignore 설정

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

아래 두가지 추가
my_settings.py (보안 관련 파일은 github에 업로드되면 안됩니다.)
*.csv (crwaling한 파일 역시 업로드하지 않습니다.)

보안을 위한 my_settings.py 생성
(MySQL, SECRET)

장고 설정에 존재하는 내용 중 SECRET_KEY, DATABASE 등은 소스로서 공유해야 하는 내용이 아닙니다.
별도의 파일 혹은 환경변수로서 관리하는게 좋습니다.

이 말인 즉, settings.py에 그냥 기록되는건 지양해야 한다는 것 입니다.

그래서 wecode에서는 별도의 참조용 파이썬 파일을 하나 생성해서, 참조하는 방법을 가이드합니다.

터미널 창에서 아래와 같이 실행합니다.

django-admin startproject '하고싶은 프로젝트 명'
cd '생성한 프로젝트 폴더명'
touch my_settings.py

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

SECRET = {
        'secret':'시크릿키',
}
여기에 기입되는 데이터베이스는 MySQL에 미리 생성되어 있어야 한다.
SECRET의 경우 프로젝트 settings.py에 있는 내용으로 대체
pip install django-cors-headers
INSTALLED_APPS = [
...
		'django.contrib.staticfiles',
		'corsheaders'
]
```python

MIDDLEWARE = [
	...
		'corsheaders.middleware.CorsMiddleware',
	...
]

마지막으로 허용할 값을 정의 합니다.

#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',
#만약 허용해야할 추가적인 헤더키가 있다면?(사용자정의 키) 여기에 추가하면 됩니다.
)

  • 사용하지 않는 사항들 주석 처리

my_settings.py DATABASE 설정 settings.py에 적용

mport my_settings
DATABASES = my_settings.DATABASES

Django mysql연결 확인

$ python manage.py migrate

  • 마스터 브랜치에서 변경된 사항을 git add.을 통해 추가하고, git commit, git push를
    진행하면 완료됩니다.

0개의 댓글