본문 바로가기
wecode/TIL 정리

위코드 Pre Course - Django 개념과 흐름

by 왕거 2020. 8. 8.

Django란?

  • MVC/MVT 패턴의 웹 서비스의 백 레이어를 구성하는 웹 프레임워크
  • MVC/MVT 패턴?
    • Model - 데이터와 관련된 모든 것 또는 데이터 자체를 다루는 요소
    • View - 어떻게 사용자에게 데이터를 보여줄지를 다루는 요소
    • Control/Template - Model과 View를 제어하는 요소

MVC 패턴과 각 요소의 역할

 

Django의 구조

웹에서의 Django의 위치와 구조

  • Model - MVC 패턴의 Model 역할
    • Django 프로젝트의 models.py 소스의 로직이 역할을 함
  • View - MVC 패컨의 View 역할
    • Django 프로젝트의 views.py 소스의 로직이 역할을 함
  • Template - MVC 패턴의 Controller 역할
    • 이 부분은 프론트엔드의 영역이라고 볼 수 있을 것 같다.

 

Django의 특징?

  • App라는 기능으로 구분할 수 있는 단위를 사용해서 좀 더 유연하게 프로젝트를 관리할 수 있다.
    • 객체 지향의 캡슐화 개념처럼 잘 만든 App는 재사용이 용이하다고 한다.

 

엔드포인트

  • 웹 서비스에서 기능의 접점이 되는 단위이다.
  • 구체적으로는 통신에 사용할 url을 의미한다.
    • Django 프로젝트에서는 urls.py 소스에서 관리한다.
    • 프로젝트의 urls.py에서 각 App으로 연결해주고 각 App의 urls.py에서 해당 App의 View로 연결하는 방식
    • 위와 같은 과정을 거친 URL이 해당 View에 대한 엔드포인트로서 작동한다.