Lina's Toolbox

Django 앱(App) 생성하고 등록하기 본문

스파르타 내일 배움 캠프 AI 웹개발 과정/Django framework

Django 앱(App) 생성하고 등록하기

Woolina 2024. 8. 9. 21:08

프로젝트란?

✔️ 하나의 프로젝트는 하나의 서비스!

A라는 웹사이트를 만든다고 하면, A라는 프로젝트를 생성하는 것!

 

하나의 프로젝트는 하나의 기능만 하지 않습니다.

  • 우리가 이용하는 웹 사이트들을 떠올려볼까요?
    • Naver, Facebook…
    • 유저, 게시물, 채팅, 좋아요 등 여러 기능으로 이루어져 있습니다.

우리가 이용하는 웹 프로그램들을 보면 공통된 기능들이 존재합니다.

  • 이 기능들을 한 번만 만들고 재사용할 수 있다면?! 🧐
  • 반복되는 작업이 줄어들어 효율적으로 개발할 수 있습니다!

Django 앱(App)

  • Django App == 내가 생각하는 하나의 기능 덩어리! (정해진 기준은 없다.)
  • 하나의 프로젝트는 여러 개의 앱으로 구성될 수 있습니다.
    • 하나의 앱으로 모두 개발하는 것도 가능합니다. (무엇이 좋다기보다 선택의 문제 == 개발자 개량)
    • 하지만 여러 개의 앱으로 나누어 개발하는 것을 권장합니다!
      (유지보수가 훨씬 편하다!)

 

프로젝트와 앱

  • 프로젝트(Project) : 어플리케이션(App)의 집합체입니다.
  • 앱(App) : 각각의 기능 단위 모듈입니다.
💡 앱을 사용하기 위해선 두가지 과정이 필요합니다.
1. App 생성하기
2. App 등록하기


* 왜 앱을 등록해야하지? 라는 의문이 든다면, 일단 그냥 그렇구나. 하고 넘어가자.
장고는 이렇게 작동하는 프레임워크이다.🙂

1️⃣ App 생성하기

장고 프로젝트 폴더가 있는 경로로 이동한다.

* 하위의 my_first_pit 이 아닌 더 상위의 my_first_pit임을 주의하자.

manage.py는 이 폴더에 있기 때문! manage.py를 이용하려면 알맞은 경로로 가야한다.

 

python manage.py startapp <앱 이름>

 

💡 Django에선 앱 이름을 복수형으로 짓는 것을 권장하고 있습니다.

 

articles폴더가 바로 App입니다.

이렇게 장고 프로젝트 내부에 articles앱이 생성되었습니다! 🥳

이런 식으로 여러개의 앱을 생성할 수 있습니다.

 

2️⃣ App 등록하기

App을 등록하기 위해서는, 설정을 담당하는 곳인 settings.py파일에서 가능합니다.

해당 파일을 열어봅시다!

 

INSTALLED_APPS 부분에 현재 우리 프로젝트에 등록된 app목록이 보입니다.

이 곳에 우리가 생성한 앱을 등록하면 됩니다.

등록 완료

💡 마지막에 콤마를 붙여주시면 다음에 앱을 추가할 일이 있을 때 편리합니다! 

(없다고 기능적으로 문제가 있는 것은 아님.)

이것을 Trailing commas라고 부릅니다.


App 살펴보기

App을 등록하고 나면 articles 폴더 안에 또 다른 파일들이 많이 생깁니다.

 

migrations DB 히스토리를 관리하는 폴더
admin.py 관리자용 페이지 관련 설정
apps.py 앱 관련 정보 설정
models.py DB관련 데이터 정의 파일
tests.py  테스트 관련 파일
views.py 요청을 처리하고 처리한 결과를 반환하는 파일