티스토리 뷰

Django

[Django Basic 01] Django란?

Liiot 2019. 12. 15. 13:19

Django

 

  • 파이썬 기반의 무료 오픈소스 웹 프레임워크
  • 웹 어플리케이션을 만들기 위한 기본적인 기능들을 제공

 

프레임워크

  • 소프트웨어 개발에 집중할 수 있도록 소프트웨어 개발에 필요한 기본적인 기능들을 제공해주는 것
  • 기본적인 구조를 처음부터 개발할 필요가 없으므로 원하는 부분만 빠르게 개발 가능

 

 


 

 

MTV 패턴

  • 웹 어플리케이션 개발 시 Model(모델) - Template(템플릿) - View(뷰) 의 세 부분으로 나누어 서로의 영역에 영향을 주지 않도록 설계하는 방식
  • 예를 들어, 특정 페이지의 UI를 개발할 때 해당 페이지에서 돌아가는 로직을 알지 못해도 지장이 없음

   1) Model(모델): 데이터베이스의 데이터에 해당하는 부분

   2) Template(템플릿): HTML 파일로 사용자에게 보여지는 부분 / View에서 전달받은 데이터를 적용

   3) View(뷰): 프로그램 로직이 작동하는 부분 / 데이터를 로직에 따라 가공하여 템플릿에 전달

 

 

 

이미지 출처: https://developer.mozilla.org/ko/docs/Learn/Server-side/Django/Introduction

 

작동방식

     1. 서버로 HTTP request가 들어온다.

     2. urls.py에서 request를 해석하고 각 url에 매칭되는 views.py의 view로 라우팅을 수행한다.

         

          ▶ urls.py: url 패턴들과 각 패턴들에 매칭되는 view들을 정의한 곳

          - HTTP request의 URL을 해석하여 urls.py에 정의된 url 패턴 중 일치하는 패턴을 찾아 이를 mapping

         

          ▶ views.py: 다양한 view들을 정의한 곳

          - HTTP request를 받고 HTTP response를 반환

          - DB에 접근하고, 템플릿을 rendering

     

     3. 각 view에서 models.py에 저장된 데이터를 불러와 필요한 작업을 한다.

 

          ▶ models.py: 데이터의 구조를 정의한 곳

          - class로 정의하며 class 하나가 DB 테이블 하나에 해당

          - class마다 필요한 column들 정의

     

     4. 불러온 데이터와 각 view에 매칭되는 템플릿(HTML 페이지)을 함께 사용자에게 반환한다.

          - 이 때, 템플릿은 view에서 불러온 데이터를 페이지에 적용

 

 

 

 

 


참고 문헌

 

Django 소개

Django의 첫번째 문서에서는 "Django가 뭐지?"라는 질문에 답해보고, Django 웹 프레임워크의 특별한 부분에 대해 전반적으로 살펴봅니다. 우리가 이 수업에서 자세히 다루지는 않을 고급 기능들까지 포함하여 간단하게 전반적인 부분을 살펴 볼겁니다. 또한, Django 애플리케이션을 구성하는 중요한 요소도 살펴보겠습니다. (물론 지금 시점에서는 테스트를 할 개발환경을 가지고 있지 않겠지만요.)

developer.mozilla.org

 

예제로 배우는 파이썬 프로그래밍 - Django 소개

Django 소개 Django(장고)는 파이썬의 대표적인 Web Application Framework으로서 그 Framework 자체가 파이썬으로 개발되어 있다. Django는 오픈소스 프로젝트로서 공식 사이트인 http://www.djangoproject.com 에서 각종 최신 정보를 제공하고 있다. 특히 이 사이트의 Documentation 섹션은 Django 개발과 관련된 자세한 기술정보를 제공하고 있으므로 참고하면 좋다. Django(장고)는 현

pythonstudy.xyz

 

댓글