[Django] Framework🛸

Inah-_-·2021년 3월 2일
0

Django

목록 보기
1/8
post-thumbnail

Web Framework란?

웹 프레임워크는 일반적인 웹 개발 작업을 단순화 하는 도구와 라이브러리를 제공한다.
작성하기 쉽고, 개발 프로젝트의 생산성을 향상하고 웹 어플리케이션을 유지 및 보수하기 쉽게 만들어 준다.

Frameworkd의 특징

  • 자주 사용되는 코드를 체계화하여 쉽게 사용할 수 있도록 도와준다.
  • 프레임워크가 구조를 만든다면, 라이브러리는 공구를 담당한다.

Django란?

파이썬으로 만들어진 무료 오픈소스 웹 애플리케이션 프레임워크(web application framework)
쉽고 빠르게 웹사이트를 개발할 수 있도록 돕는 구성요소로 이루어진 웹 프레임워크이다.


Django의 MVT 패턴이란?

클라이언트에 대해서 request를 URLConf를 통해 view가 받게 되고 view에서 해당 request에 대한 처리를 진행하면서 데이터가 필요하다면 그걸 model을 기반으로 C(Create), R(Read), U(Update), D(Delete)작업을 진행하고 결과를 받아온다. Model은 DB에 ORM기법을 사용하여 DB테이블을 class의 형태로맵핑해서 DB테이블을 생성한다. 이렇게 구성된 데이터를 기반으로 view에서 business logic을 수행하며 그 결과 값을 template에 rendering하여 Client에게 응답을 하게끔 되어 있다.

이와 같은 일련의 과정에 대한 Design pattern을 MVT 패턴이라고 부른다.


Model:DB(table)

DB(테이블)을 생성하기 위한 데이터에 관한 정의가 class기반으로 이루어진다.

하나의 calss는 하나의 DB테이블을 의미한다.

from django.db import models

class Users(models.Model):
    name        = models.CharField(max_length=50)
    email       = models.CharField(max_length=50)
    password    = models.CharField(max_length=300)

View:app에 맞는 logic 처리

URL을 통해 받은 사용자 request에 따른 데이터의 처리를 결정하고
MODEL에 신호를 보냄. 또한, MODEL에서 받은 정보를 가공하기도 한다.
웹페이지나 콘텐츠들은 VIEW를 통해 전달되며, 파이썬의 function(method)으로 나타난다.

Control

View와 Model을 이어주는 로직 (장고에서는 View가 Control의 역할)

정리

Client로 부터 요쳥을 받았을 때, Django가 MVT pattern에 따라서 처리하는 과정
1. 클라이언트로부터 요청을 받으면 URLConf를 이용하여 URL을 분석
2. URL 분석 결과를 통해 해당 URL에 대한 처리를 담당한 View를 결정
3. View는 자신의 로직을 실행하면서 데이터베이스 처리가 필요하면 Model을 통해 처리
4. View는 로직처리가 끝나면 Template을 사용하여 클라이언트에게 전송할 HTML 파일 생성
5. View는 최종결과로 HTML 파일을 클라이언트에게 전송합

Reference

MVT_참고문헌

profile
Backend Developer

0개의 댓글