파이썬의 대표 웹 프레임워크인 Django는 대부분 beginner 수준의 자료가 많다.
그래서 ORM을 어떻게 적절하게 사용하는지, 테스트 코드는 어떻게 작성하는지 등 예제가 많이 없다.
해서 내가 만든 예제를 공유하고자 한다.
아래의 소스코드에는 docker-compose를 이용한 배포 방법도 나와 있으니 clone해서 코드를 실행해보길 권한다.
프로젝트 소개
gym 프로젝트 소개 및 기능 정의
- 회원권을 구매하여 크레딧을 생성합니다.
- 크레딧으로 등록한 레슨을 예약합니다.
- 나의 예약 및 크레딧 잔고를 확인합니다.
기술적 소개
- django 테스트
- python type hint
- docker-compose를 활용한 배포
- 스웨거를 통한 api 확인
- 적절한 orm 활용법
기본 정보
- 주소 : http://localhost:8000(개발), http://localhost(배포)
- swagger path : http://localhost:8000/swagger/
- 기본 관리자 정보 : username : admin password: admin
- 개발 서버 실행 순서(개발 서버 sqlite 사용)
- python manage.py migrate
- python manage.py create_default_user
- python manage.py runserver
- 배포 서버 실행 : docker-compose up
- 필자는 Mac amd를 사용해 docker-compose.yml 파일 platform: linux/amd64를 설정 했으나 장비에 따라 해당 문구 삭제 필요
API 사용 설명
- 스웨거 접속 : http://localhost:8000/swagger/
- 우측 상단 Django login : admin/admin
- 예약을 위한 수업을 생성해 주세요
- 크레딧 구매를 위한 가격정책(회원권)을 생성해 주세요.
- 크레딧을 구매합니다.
- 수업을 예약합니다
소스코드
https://github.com/seunwoolee/gym-backend
'django' 카테고리의 다른 글
Django Proxy Model(다형성) (0) | 2022.09.06 |
---|---|
Django prefetch_related, select_related 예제(N+1 Problem) (0) | 2022.07.07 |
github action을 이용한 django 테스트 자동화(with docker) (0) | 2022.07.03 |
Celery 이해 및 필요성 with Django (0) | 2022.03.03 |
Django workers process 메모리 공유 (0) | 2021.02.19 |