본문 바로가기

About coding/Today I learned

2023년 04월 24일 TIL [#django프로젝트세팅 #DRF프로젝트세팅 #git커밋메시지컨벤션]

 

 


오늘의 학습 계획

_django REST framework 개인과제 위해 기초학습


기록하고 싶은 학습내용

_django 프로젝트 세팅 (윈도우 + VS코드 기준)

더보기

>어떤 프로젝트를 만들건지 구상을 완성해야한다.

>S.A.문서 작성

>ERD 작성

 

>임의의 폴더 하나 생성 (최상위 디렉토리)

>그 폴더에서 Visual Studio Code 실행

>가상환경 설치 python -m venv venv <- 마지막 venv는 그냥 이름. 변경 가능.

>가상환경 활성화 source venv\Scripts\activate

>인터프리터도 venv로 켜져 있는지 확인

 

>venv 활성화된 상태에서 필요한 모듈 설치 pip install <라이브러리이름>

>장고 설치 pip install django

>DRF 설치 pip install djangorestframework

>새로운 모듈들 설치할 때마다 requirements에 적고 저장하기 pip freeze > requirements.txt

 

>깃이그노어파일 생성 .gitignore

>gitignore.io 같은 홈페이지에 가서 조건들 넣고 코드 긁어오기

조건 예시: #django #window #macOS#pycharm #vscode #venv

 

>깃이랑 연동 git hub 들어가서 repository 만들고 HTTPS 주소 복사해와서

>git init 하고

>git remote add origin <가져온주소붙여넣기>

>git add .

>git commit -m "Init: firstcommit"

>git push origin main 혹은 master

>깃허브에서 확인해보면 .gitignore만 푸쉬되어 있음

 

>이제 장고 프로젝트 시작 django-admin startproject <프로젝트이름> .

>settings.py 들어가서 INSTALLED_APPS 찾아가 'rest_framework', 추가해주기

INSTALLED_APPS = [
    ...
    'rest_framework',
]

 

> 마찬가지로 settings.py 에서 LANGUAGE_CODE = "ko-kr"로 바꿔주기

> 마찬가지로 settings.py 에서 TIME_ZONE = "Asia/Seoul"

> 시범구동 해보기 python manage.py runserver

 

>venv랑 manage.py가 동등한 위치에 있는 것 확인하고

>git add .

>git commit -m "Init:startproject<프로젝트이름>"

>git push origin main 혹은 master

>깃허브에서 잘 푸시 되었는지 확인

 

>세팅 끝

 

**Vertual Environment = VENV

**현재 설치한 라이브러리 내역 보기 pip list

**가상환경비활성화 deactivate

**python <파이썬파일이름> 하면 "터미널에서파이썬파일실행" 기능 동일

**venv 폴더는 깃으로 관리하지 않는다. 이그노어에 넣어야함.

**requirements.txt에서 들어있는 모든 파일 설치 방법 pip install -r requirements.txt

**requirements.txt에서 들어있는 모든 파일 삭제 방법 pip uninstall -r requrements.txt -y

**django-admin startproject <프로젝트이름> 명령 시, 맨 뒤에 '.' 을 붙이면 현재 폴더에 프로젝트가 생성되고, 안 붙이면 똑같은 이름의 폴더를 하나 생성 한 뒤 그 속에다가 새 프로젝트를 생성한다. 주의. 뭐가 됐든 프로젝트 만든 후에 manage.py가 venv랑 동등한 위치에 있어야 하고, manage.py가 있는 위치에서 작업해야한다.

**git push origin <브랜치명>

 

_git 커밋 메시지 컨벤션

더보기

git 커밋메시지 컨벤션

 

▼태그                                 ▼설명

Feat 새로운 기능을 추가한 경우
Fix 에러를 수정한 경우
Design CSS 등 UI 디자인을 변경한 경우
BREAKING CHANGE 중대한 API를 변경한 경우
HOTFIX 급하게 치명적인 에러를 고친 경우
Style 코드 포맷 변경을 하거나 세미 콜론 누락하여 추가하면서 코드 수정이 없는 경우
Refactor 코드를 리팩토링한 경우
Comment 주석을 추가하거나 변경한 경우
Docs 문서를 수정한 경우
Test 테스트 코드를 추가, 변경, 리팩토링한 경우
Chore 기타 변경사항 (빌드 스크립트 수정, 패키지 매니징 설정 등)
Rename 파일 or 폴더명 수정하거나 옮기는 경우
Remove 파일을 삭제하는 작업만 수행한 경우
  • << 태그 >> : << 요약 메시지 >> 형식으로 작성합니다.
  • 제목의 처음은 동사 원형으로 시작합니다.
  • 총 글자 수는 50자 이내로 합니다.
  • 문장의 끝에 특수문자는 삽입하지 않습니다. 예) ., !, ?
  • 본문은 한 줄 당 72자 이내로 합니다.
  • 본문 내용은 양에 구애받지 않고 최대한 상세히 작성합니다.
  • 본문 내용은 어떻게 변경했는지 보다 무엇을 변경했는지 또는 왜 변경했는지를 설명합니다.
  • 꼬리말은 << 유형 >>: #<< 이슈 번호 >> 형식으로 작성합니다.
  • 꼬리말은 반드시 작성할 필요는 없습니다.
  • 여러 개의 이슈 번호를 적을 때는 쉼표로 구분합니다.
  • 이슈 트래커 유형은 다음 중 하나를 사용합니다.
    • Fixes: 이슈 수정중 (아직 해결되지 않은 경우)
    • Resolves: 이슈를 해결했을 때 사용
    • Ref: 참고할 이슈가 있을 때 사용
    • Related to: 해당 커밋에 관련된 이슈번호 (아직 해결되지 않은 경우)

 

▼커밋메시지 작성법

Feat: 사용자 인증 기능 구현

- OAuth 연동
- 회원가입과 로그인 로직 구현
- 로그인, 회원가입 폼 컴포넌트 구현

Fixes: #13
Resolves: #11, #12
Ref: #10
Related to: # 14

 

출처:  https://velog.io/@dkdlel102/Git-%EC%BB%A4%EB%B0%8B-%EB%A9%94%EC%8B%9C%EC%A7%80-%EC%BB%A8%EB%B2%A4%EC%85%98