본문 바로가기
django

#django day1

by 희구리 2020. 4. 24.

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 & Response / MTV

그림으로 한눈에 파악할 수 있듯이 사용자가 요청(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

댓글