본문으로 바로가기

[Django]Django로 웹개발 시작하기(#5. startapp: app만들기)

category Python/Django 2021. 7. 8. 16:44
반응형

 

 

지난 관리자 로그인(admin)포스팅에 이어

실제 웹사이트에서 만들고자 하는 app들을 만들어봅시다.

 

 

app이라 하면, 단순히 말해 기능이라고 할 수 있는데요.

 

 

 

예를 들어

airbnb 사이트를 보면,,

 

 

위와 같이 상단에 '숙소', '체험', '온라인 체험' 이 있죠.

 

이러한 것들 하나하나가 app(기능)입니다.

 

 

그렇다면 이 app들은 여러 기능들이 있겠죠.(ex, 숙소 - 체크인, 체크아웃, 인원, 숙소 사진 등등)

 

이러한 기능들을 만들고자 한다면 코드로 작성할 수 있습니다.

 

 

 

즉, 세부 기능(체크인, 체크아웃 등)을 구현한 것이 함수이고,

 

하나의 app(숙소)은 이러한 세부 기능들로 이루어진 것이죠.

 

 

 

 

본인이 구현하고자 하는 app을 만들어 그 안에 세부 기능들을 작성하는 것입니다.

 

이번 포스팅에서는 django를 활용해 app을 만들어 보겠습니다.

 

 

 

 

 


 

 

  1. django startapp  

 

 

vscode에서 terminal에 아래와 같이 입력합니다.

 

django-admin startapp [만들고자 하는 앱 이름]

 

 

 

저는 'rooms' 라는 앱을 만들었습니다.

 

 

이와 같이 app을 만들 때는 일반적으로 복수형으로 s를 붙여줍니다.

(하나의 room이 아닌 room의 집합이기에..)

 

 

 

그러면 "rooms"파일이 생성됩니다.

 

※ 하위 폴더들은 framework 이기 때문에 수정하면 안 됩니다!

 

 

 

간단히 설명하자면

 

admin.py - 관리자만이 할 수 있는 기능을 삽입합니다.

 

               이전에 봤던 admin 페이지에서 추가 및 변경하고자 하는 게 있으면 

               admin.py에 작성해주면 되는 것이죠.

 

 

models.py - data(자료)에 관련된 것들을 작성합니다.

 

 

 

 

 

 

◎ 혹시나 만든 앱을 삭제하고자 한다면 다음과 같은 명령어를 입력해줍니다.

 

rm -rf [삭제하고자 하는 앱 이름]

 

 

 

 

 

 

 

  2. app 등록하기

 

config  >  settings.py 에 들어가봅시다.

 

 

그러면 아래와 같은 코드가 있습니다. (INSTALLED_APPS)

 

 

 

기존에 장고 프로젝트를 생성했을 때 탑재된 APP들인데요.

 

여기에 본인이 만든 앱을 등록 해줍니다.

 

 

아래와 같은 코드를 입력해줍시다.

# settings.py 


INSTALLED_APPS = [ '만든 앱의 이름', .... ]

 

저같은 경우에는 rooms 앱을 만들었기때문에 "rooms"를 추가해주었습니다.

 

 

 

 


 

 

 

이제 관리자 페이지로 가서 해당 app들이 잘 작성되었는지 확인해봅시다.

 

 

???

그대로입니다.

 

 

 

다음 포스팅에서 model 작성과 함께 원인을 알아봅시다.

반응형