💡해당 포스트는 MacOSX, Django, mySQL, iterm2 터미널, vim에디터, google chrome 등을 이용하고 있습니다. 사용하는 프로그램이 다를 경우 해당 글과 다른 결과가 나올 수 있음을 알려드립니다.💡
스타벅스 커피를 데이터베이스로 모델링하여 장고로 값을 입력하는 단계까지 진행한다. A to Z 까지는 아니고 A to E 정도는 되는 것 같다.
- 먼저 프로젝트를 진행할 폴더를 만들어서 들어가 준다.
- 가상환경을 생성해준다.
마지막에 'Proceed ([y]/n)?' 이 나오면 y를 입력해서 가상환경을 생성하면 된다.
그리고 나서 바로conda activate <가상환경 이름>
을 명령어로 입력하여 가상환경을 활성화시켜 준다.
- 프로젝트에 사용할 데이터베이스를 생성해준다(필자는 MySQL을 사용).
패스워드를 입력한 후 mySQL CLI(Command Line Interface)에 들어가서 DB생성
create database <사용할 데이터베이스 이름> character set utf8mb4 collate utf8mb4_general_ci;
참고로utf8bb4
는 이모지🎃를 사용할 수 있는 character set이다.
- project python package 설치
pip install django pip install mysqlclient
두개를 설치해 준다. 두번째는 꼭 mysql이 설치되어 있어야 한다.
- django project 생성
django-admin startproject westarbucks02 cd westarbucks02
만들고 싶은 디렉터리 이름으로 설정하면 된다.
- settings.py 설정
ALLOWED_HOSTS
부분을 찾아서 빈[]
안에'*'
를 넣어준다.
그 다음INSTALLED_APPS
의 첫번째, 두번째 값을 주석 처리,
MIDDLEWARE
의 네번째, 다섯번째 값을 주석 처리 해준다.
- urls.py 설정
urls.py
파일이 위 사진과 같게 수정한다(추가하는 것이 아니라 딱 위 사진과 동일하게 만들어 주면 된다).
- my_settings.py 설정
settings.py
가 있는 디렉터리에서touch
명령어로my_settings.py
파일을 생성 후vim
으로 해당 파일 작성해 준다.
my_settings.py
파일을vim
으로 열고 나면 빈 화면이 나타나는데 다음을 작성해 준다.DATABASES = { 'default' : { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'DATABASE 명', 'USER': 'DB접속 계정명', 'PASSWORD': 'DB접속용 비밀번호', 'HOST': '127.0.0.1', 'PORT': '3306', } } SECRET_KEY = '시크릿키' #settings.py에 있는 secret_key 를 사용합니다.
NAME
: 위에서 만든 데이터베이스 이름을 적어준다.
USER
: 데이터베이스를 사용하는 사용자 이름을 적어준다. 보통 'root'로 되어있을 것이다.
PASSWORD
: mySQL에 접속할 때 사용하는 비밀번호를 적어준다.
그 외 나머지는 그대로 냅두면 된다.
- settings.py에 my_settings.py 파일 연동
from pathlib import Path #기존에 있던 코드 from . my_settings import DATABASES, SECRET_KEY #새로 추가할 코드 ... SECRET_KEY = SECRET_KEY ... DATABASES = DATABASES
settings.py
파일을 찾아서vim
으로 위와 같이 수정해 준다.
from my_settings ...
이 부분을 추가해 주고, 아래 내용 중에SECRET_KEY
와DATABASES
부분을 찾아서 위와 같이 적용해 준다.
- corsheaders설치 및 적용
다시 터미널로 빠져나와서 다음과 같이pip install django-cors-headers
라고 입력해 준다.corsheaders란 웹 페이지 상의 한정된 리소스를 다른 도메인으로 부터 요청할 때 필요한 HTTP 추가 헤더이다.
더 쉽게 얘기하면 다른 서버의 도메인에서 사진을 가져와서 웹 서비스를 할 때 또 다른 서버에서 이 데이터에 접근해서 API를 호출하면 안되기 때문에 CORS보안 이슈를 일으킨다.
(막상 설명하고 보니 쉽게 들리진 않는다.) 쉽게 정리된 글이 있으니 여기서 이해하는게 더 빠르다.설치가 완료되었으면
settings.py
에 들어가서INSTALLED_APPS
부분에corsheaders
를 추가하고MIDDLEWARE
에도 다음과 같이 추가해 주면 된다.
가장 아래corsheaders
와corsheaders.middleware.CorsMiddleware
를 각각 추가해 주었다. 마지막으로 허용할 헤더, 메소드, 포트 등을 설정하면 된다.settings.py
가장 마지막 부분에 다음을 추가해 준다.
이제 다시manage.py
가 있는 곳으로 가서 서버를 실행시켜 본다.
이제http://127.0.0.1:8000/
을 브라우저의 주소창에 입력하거나 터미널에서 저 URL을 'command'키를 누른 상태로 클릭하면 다음과 같이 창이 뜰 것이다. 저 로켓이 안뜨면 뭔가 오류가 있는 것이다.
- git 초기화
다음과 같이manage.py
파일이 있는 곳으로 가서git init
명령어를 입력해 준다. 현재 프로젝트 폴더를 git으로 관리하겠다는 뜻이다.
- .gitignore 파일 생성
여기서 다음 키워드를 입력해서 추가해 준다.
python, pycharm, VisualStudioCode, vim, macOS, Linux, zsh
그 후 Create하여 나온 내용을 프로젝트 폴더로 들어가서
.gitignore
라는 파일을 만들고 파일 안에 전체 내용을 복사 붙여넣기 한다.cd '프로젝트 폴더명' touch .gitignore vim .gitignore ############################ # gitignore.io 결과 전체 복사 # ############################ # 가장 하단 my_settings.py 추가하기 my_settings.py (보안 관련 파일은 github에 업로드되면 안됩니다.)
가장 하단에
my_settings.py
라고 적어준다.
- master branch push하기
다음 순서를 잘 따라오기 바란다.
1.manage.py
파일이 있는 폴더로 간다.
2.git add .
3.git commit -m "Add: First Commit"
4. github 홈페이지에 가서 New repository 생성
5. 다시 터미널로 와서git remote add origin <레포지토리 주소>
6.git push origin master
순서대로 입력하고 github에 가서 해당 레포지토리 페이지를 새로고침하면 작성한 프로젝트가 잘 올라가져 있는 것이 보일 것이다.