-
Create Django AppsProject using python/Cloning Airbnb 2021. 2. 19. 15:25
Django App을 나누는 기준
Airbnb에서 필요한 주요 기능들을 나열해 보면, users, rooms, photos, lists, reviews, conversations, reservations 등이 있다. room detail을 보면 review, list, photo, reservation이 다 들어있어서 모두 room에 포함될 것 같지만, 그렇지 않다. 물론 이 모든 것들을 room app에 넣을 수 있다. 하지만 그렇게 되면 module이 너무 비대해져서 코드를 유지 관리하기가 어렵다.
Coding의 제 1원칙은 divide and conquer다.
app을 나누는 기준은 CRUD로 생각하면 된다. 예를 들어, 방을 생성하고 읽고 업데이트하고 삭제한다. '그리고' 사진을 생성하고 읽고 업데이트하고 삭제한다. 여기서 '그리고'가 중요하다. 어떠한 것을 CRUD로 설명할 때 '그리고'를 사용해야 하는 순간 그리고를 기준으로 app이 나눠진다.
Create Django Apps
이제 django을 생성해보자. 명령어는
$ django-admin startapp <app_name>
이다.
$ django-admin startapp users
$ django-admin startapp rooms
$ django-admin startapp photos
$ django-admin startapp lists
$ django-admin startapp reviews
$ django-admin startapp conversations
$ django-admin startapp reservations
$ django-admin startapp core추가로 core를 생성했다. core는 모든 app에 공통적으로 사용되는 class를 생성할 것이다.
참고 자료
- 노마드 코더의 Airbnb 클론 강의
소스 코드
github.com/zpskek/airbnb-clone-v3/commit/c1fdbd640618acb3108b51c3e1326b45ec59b938
'Project using python > Cloning Airbnb' 카테고리의 다른 글
Create User Model and Admin Panel (0) 2021.02.19 Django User setting (0) 2021.02.19 Django settup (0) 2021.02.19 Django 설치 (0) 2021.02.19 개요 (0) 2021.02.19