Project/Team22

[Django] Django의 디자인 패턴 : MTV

mingyung 2023. 11. 3. 19:39

장고를 시작하면서, 먼저 장고에서는 어떻게 코드를 분리하고 있는지에 대해서 알아보자.

 

디자인 패턴

SW 디자인 패턴은 SW를 개발할 때 공통적으로 발생하는 문제를 해결하기 위한 해결책을 말한다. 이 해결책은 재사용 가능한 구조로 설계되었으며, 일종의 코드 작성 서식을 말한다.

 

MTV패턴

모델-템플릿-뷰 패턴을 줄여 MTV패턴이라고 부른다.

장고 코드의 역할에 따라서 위의 세가지로 코드를 분리하는 것을 MTV패턴이라고 한다.

 

Model

모델은 장고와 데이터베이스를 연결시켜주는 코드이고, 데이터이 형태를 나타낸다. 일반적으로 각각의 모델은 데이터베이스 테이블과 매핑된다. 

 

모델운 아래의 속성을 가진다.

  • 파이썬의 클래스를 사용
  • 모든 모델 클래스는 django.db.models.Model 클래스를 상속받는다.
  • 각각의 모델 속성은 데이터베이스 필드를 나타낸다.

모델의 파일명은 기본값으로 models.py를 사용한다.

class DjangoModel(models.Model):
	name = models.CharField("이름")

 

Template

템플릿은 웹 브라우저로 돌려줄 코드를 말한다. 즉, 사용자에게 제공될 결과물의 형태를 나타내는 것이다.

HTML을 사용하여 나타내고, Djang에서는 templates디렉터리 내에 HTML파일을 사용한다.

<!DOCTYPE html>
<html lang="ko">
	<body>
    	<h1>DjangoTamplate</h1>
    </body>
</html>

 

View

뷰는 사용자의 요청을 받아 처리하는 웹사이트의 로직을 가지는 코드이다. 파이썬의 함수(Function)을 사용한다.

파일명은 기본값으로 view.py를 사용한다.

def Django_view(request):
	return HttpResponse("Django View")