Django 앱 (app)
목표 Django 가 기능을 App(앱) 단위로 나눈다는 것과, 앱 폴더 안의 주요 파일(urls.py·views.py·models.py 등)이 각각 무슨 일을 하며 어떻게 이어져 화면 하나를 만드는지 이해한다.
1. App(앱)이란?
우리가 쓰는 Django 는 기능을 App(앱) 이라는 단위로 나눕니다. 로그인은 accounts 앱, 회의는 meetings 앱처럼, 기능 하나가 앱 폴더 하나입니다. 새 기능을 추가한다는 건 대개 새 앱을 하나 만든다는 뜻입니다.
앱 폴더를 열면 정해진 몇 개의 .py 파일이 들어 있습니다. 파일마다 역할이 정해져 있어서, 어느 앱을 열어도 구조가 비슷합니다.
2. 앱 안의 파일들
앱 하나에서 화면이 나오기까지, 아래 파일들이 역할을 나눠 맡습니다.
src/
├── accounts/ ← 앱 하나 (예: 로그인)
│ ├── urls.py
│ ├── views.py
│ ├── models.py
│ └── admin.py
├── meetings/ ← 또 다른 앱
└── ...
| 파일 | 역할 |
|---|---|
urls.py |
들어온 주소를 어느 뷰로 보낼지 정함 |
views.py |
요청을 처리해 화면(HTML)을 만드는 코드 |
models.py |
앱이 다루는 데이터의 구조를 정의 |
templates/ |
뷰가 값을 채우는 화면 틀(HTML) |
admin.py |
데이터를 손볼 수 있는 관리자 화면 등록 |
이 중 urls.py·views.py·templates·models.py 는 각각 이어지는 강의에서 하나씩 자세히 봅니다.
3. 파일들이 이어지는 법
주소를 입력하면 이 파일들이 순서대로 이어져 화면 하나를 만듭니다.
- ① URL(주소) (
urls.py): 들어온 주소를 보고 어느 뷰로 보낼지 정합니다. - ② View(뷰) (
views.py): 무엇을 보여 줄지 정해 화면(HTML)을 만듭니다. 데이터가 필요하면 Model(모델) 이 데이터베이스에서 꺼내 옵니다. - ③ Template(템플릿) (
templates/): 뷰가 그 값을 채워 넣는 화면 틀입니다.
여기에 데이터를 맡는 Model(모델) 을 더한 M·V·T 가 Django 앱의 뼈대입니다.
마무리
- 핵심 정리: Django 는 기능을 App(앱) 단위로 나눕니다(기능 하나 = 앱 하나). 앱 안에는 역할이 정해진 파일들(
urls.py·views.py·models.py·templates/)이 있고, 주소가 들어오면 URL → View → Template 순으로 이어져 화면을 만듭니다. 데이터는 Model 이 맡습니다. - 주의 사항: 폴더가 있다고 다 앱은 아닙니다. 앱은 설정에 등록돼 있어야 Django 가 앱으로 인식합니다(등록은 앞 '환경 설정' 강의에서 다룬 settings 몫입니다).
- 다음 시간: 첫 관문인 URL 라우팅(
urls.py) 부터 하나씩 봅니다.