[TIL] 장고프로젝트 Setting & MySQL연동

김성진·2020년 9월 7일
0
post-thumbnail

step1.

프로젝트를 만들기 전에 먼저 가상환경 설정 및 mysql을 다운 받았다.

pip install django
pip install django-cors-headers
-------우분투 MySQL설치---------
sudo apt install -y mysql-server
sudo mysql_secure_installation
sudo /etc/init.d/mysql restart
sudo mysql -u root -p
-------------끝----------------
1. project 초기 세팅 연습 후 확인을 위한 repository clone받기
pip install mysqlclient
git clone ""
cd backend-exercises
2. branch 생성
git branch feature/"이름"
git checkout feature/"이름"
3. "이름"으로 django project 생성
django-admin startproject "이름"
cd "이름"

step2.

1).gitignore 설정
소스를 공유하기 위해 깃을 사용하지만 올리고 싶은것 올리고 싶지 않은것, 올려서는 안되는 것들이 존재합니다. 이를 구분하기 위해 깃이 설치된 디렉토리에 .gitignore파일을 생성해서 관리해야 합니다.
위의 사이트에서 사용하는 환경에 해당하는 키워드를 선택하면, 자동으로 .gitignore 파일에 정의할 요소들을 생성 해줍니다.
생성된 결과물을 복사한뒤 아래의 과정을 거쳐 내용을 저장합니다.
아래 두가지 추가
my_settings.py (보안 관련 파일은 github에 업로드되면 안됩니다.)
.csv (crwaling한 파일 역시 업로드하지 않습니다.)*

2)보안을 위한 my_settings.py생성
장고 설정에 존재하는 내용 중 SECRET_KEY, DATABASE 등은 소스로서 공유해야 하는 내용이 아닙니다.
별도의 파일 혹은 환경변수로서 관리하는게 좋습니다.
이 말인 즉, settings.py에 그냥 기록되는건 지양해야 한다는 것 입니다.
그래서 wecode에서는 별도의 참조용 파이썬 파일을 하나 생성해서, 참조하는 방법을 가이드합니다.
생성 후, my_settings.py 파일 안에;

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

SECRET = {
        'secret':'시크릿키',
}
입력하세요

그후, setting.py에 들어가 아래 추가;

INSTALLED_APPS = [
		'django.contrib.staticfiles',
		'corsheaders'
]
'''
middleware도 추가;
'''
MIDDLEWARE = [
		'corsheaders.middleware.CorsMiddleware',
]

middleware도 추가;

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에 적용하려면;

import my_settings
DATABASES = my_settings.DATABASES

pip freeze > requirement.txt

마지막으로;
$ mysql.server start
$ mysql -u root -p
mysql > create database "Database name"
$python manage.py migrate

profile
multi-national communicator with programming (back-end)

0개의 댓글