Django 의 작동방식

강두연·2020년 11월 6일
0

Django

목록 보기
1/3
post-thumbnail

장고는 파이썬으로 작성된 오픈 소스 웹 프레임워크로, 모델-뷰-컨트롤러 패턴을 따르고 있다. 현재는 장고 소프트웨어 재단에 의해 관리되고 있다. 고도의 데이터베이스 기반 웹사이트를 작성하는 데 있어서 수고를 더는 것이 장고의 주된 목표이다.

Design Pattern

유명한 디자인 패턴 중 하나인 Model-View-Controller(MVC) 패턴인데 django에서는 View와 Controller가 각각 Template, View로 치환 되어 사용된다. 패턴의 구조는 아래 이미지와 같고 본인은 백엔드 개발을 지향하기 때문에 Template은 제외한 Model과 View에 대해서만 다룰 것이다.

Model

DB에 ORM기법을 사용하여 DB테이블을 class형태로 맵핑하여 DB테이블을 생성한다. 데이터베이스에서 각 테이블의 구조를 코드로 짠다고 이해하면 좀 더 쉽다.

View

클라이언트에게 어떠한 요청(request)을 URLconf를 통해 View가 받아서 해당 요청을 처리하면서 데이터가 필요하다면 Model에 접근하여 CRUD작업을 처리하고 결과를 응답(response)으로 보낸다.
이전에는 풀스텍으로 뷰에서 직접 템플릿을 불러오고 데이터를 입히는 방식으로 구현해 나갔지만 요즘에는 백엔드 기능만 전적으로 담당해서 데이터를 주고 받는 부분만 구현이 된다.

URL이 분석되는 순서

  1. settings.py 파일의 root_urlconf 항목을 읽은 뒤 해당 항목에서 알려주는 파일로 이동 (기본은 프로젝트 디렉토리[root]의 urls.py 파일로 되어있다)
  2. 해당 파일에 urlpatterns 항목을 읽어 지정되어있는 url 리스트를 검사한다. 보통 여기서 앱 디렉토리에 urls.py 파일을 지칭해준다.
  3. 앱 디렉토리에 있는 urls.py 에 urlpatterns를 확인하면서 URL 패턴이 매치됨
profile
Work hard, Play hard

0개의 댓글