django란?
- 쉽고 빠르게 웹사이트를 개발할 수 있도록 도와주는 구성요소들로 이루어진 웹 프레임워크이다.
- Python 기반의 Web Framework다.
- 모델 - 뷰 - 컨트롤러(MVC) 패턴을 따르고 있다.
Why django?
- 많은 기업들이 사용하고 있다.
- 다양한기능이있고 대용량 저장이 가능하다.
- 지속적으로 개발, 발전하고 있다.
django는 어떻게(how) 동작하는가?
웹은 기본적으로 요청(클라이언트)과 응답(서버)으로 이루어진다. - request & response
django는 파이썬으로 작성된 오픈소스 웹 어플리케이션 프레임워크로, 모델-뷰-컨트롤러 모델 패턴(MVC)을 따르고 있고 이것을 MTV패턴으로 표현하고 있다. (아래 표 참고)
MVC 패턴 | django(MTV 패턴) | 역할 |
---|---|---|
Model | Model | 데이터 관리 |
View | Template | 인터페이스(화면) |
Controller | View | 중간 관리(상호 동작) |
MVC, MTV패턴은 무엇일까?
MVC 패턴이란 디자인패턴 중 하나이다.
디자인 패턴은 프로그램이나 어떤 특정한 것을 개발하는 중에 발생했던 문제점들을 정리해서 상황에 따라 간편하게 적용해서 쓸 수 있는 것을 정리하여 특정한 "규약"을 통해 쉽게 쓸 수 있는 형태로 만든 것을 말한다.
쉽게 말해 하나의 애플리케이션, 프로젝트를 구성할 때 그 구성요소를 세가지의 역할로 구분한 패턴이 MVC패턴인데
django는 독특하게 해당 패턴을 MTV패턴으로 이름을 붙여 표현하고있다.
위 표에서 확인했듯이 MVC, MTV패턴은 이름만 다르지 각각 1:1로 매칭되어 그 역할이 동일하다는 것을 알 수 있다.
(주의해야 할 점 : MVC의 View와 MTV의 View는 이름은 같지만 역할이 다르다.)
django가 동작하는 과정
그림으로 한눈에 파악할 수 있듯이 사용자가 요청(Request)을 URL에 담아서 보내면 django의 urls.py에서는
url마다 정의된 View(views.py)의 함수를 호출 및 실행한다.
View(views.py)는 중간관리자의 역할을하며 URL마다 어떠한 동작(실행)을 할 것인지에 대한 함수를 정의하고있다.
위 그림으로 View의 역할을 파악해보면 요청으로 넘어온 URL(urls.py)에 따라 Model(models.py)에서 데이터를 읽고 쓰기를하거나 Template(.html)으로부터 사용자에게 보여줄 html파일을 가져와서 반환하여 요청에대한 응답(Response)을 해주는 역할을 한다.
'django' 카테고리의 다른 글
#django day6 (0) | 2020.04.30 |
---|---|
#django day5 (0) | 2020.04.28 |
#django day4 (0) | 2020.04.28 |
#django day3 (0) | 2020.04.26 |
#django day2 (0) | 2020.04.25 |
댓글