본문 바로가기

Web/Django

[Django] 앱 생성, 동작 flow

프로젝트 vs 앱

앱: 블로그 시스템, 공개 기록 데이터베이스 또는 소규모 의견조사 앱과 같은 작업을 수행하는 웹 애플리케이션

프로젝트: 특정 웹 사이트에 대한 구성 및 앱의 모음

한 프로젝트 내 여러 개 앱 포함 가능

 

python manage.py startapp <appName>
<appName>/
    __init__.py
    admin.py
    apps.py
    migrations/
        __init__.py
    models.py
    tests.py
    views.py

 

동작 flow

1. 웹 브라우저에서 이벤트 발생

2. URL Dispatcher에서 요청한 URL 분석해 적합한 View로 보내준다.

3. View는 사용자의 요청을 받아 Database 어디에 접근해서 어떤 데이터를 가공할 지 알려준다.

4. Model에서 Database와 연결하고 데이터를 가져온다.

5. Database -> Model -> View -> Template으로 데이터를 전송한다.

6. Template은 .js나 .html 같은 페이지를 만들어 웹브라우저에게 넘겨준다.