방명록
- [Django] MVT Architecture2024년 01월 19일 18시 41분 14초에 업로드 된 글입니다.작성자: 묭동이
안녕하세요 이번 글에서는 Django의 MVT(Model-View-Template) Architecture에 대해서 알아보도록 하겠습니다.
MVT(Model-View-Template)
- Django의 웹 애플리케이션 개발을 위한 디자인 패턴입니다.
- MVC(Model-View-Controller) 아키텍처의 변형으로, 웹 애플리케이션을 구성하는 세 가지 주요 구성 요소로 나뉩니다:
Model (모델)
- 모델은 Django와 DB를 연결시켜주는 코드이며 데이터 형태를 나타냅니다.
- 일반적으로 각각의 모델은 데이터베이스의 "테이블"과 매핑됩니다.
- 즉, 데이터베이스의 각 테이블은 Django 모델로 표현되며, 모델은 Python 클래스로 작성합니다.
- 파일명은 기본값으로 models.py를 사용합니다.
class DjangoModel(models.Model): name = models.CharField("name")
Model의 속성
- 모든 Model 클래스는 django.db.models.Model 클래스를 상속받습니다.
- 각각의 모델 속성은 DB 필드를 나타냅니다.
View (뷰)
- 뷰는 MVC 패턴의 Controller 역할을 합니다.
- User의 요청(request)을 받아 처리하는 웹 사이트의 로직 코드이며 파이썬 함수(Function)을 사용합니다.
- HTTP 요청을 처리하고, 요청에 따라 데이터를 모델에서 가져오거나 저장하고, 적절한 템플릿을 사용하여 응답을 구성합니다.
- 즉, 뷰는 사용자의 요청을 받아 모델을 통해 데이터를 처리하고, 그 결과를 템플릿에 전달하여 사용자에게 보여줄 최종 웹 페이지를 생성합니다.
- 파일명은 기본값으로 views.py를 사용합니다.
def django_view(request): return HttpResponse("Django View")
Template (템플릿)
- 템플릿은 사용자에게 표시될 페이지의 구조와 레이아웃을 정의합니다.
- HTML을 기반으로 하며, Django 템플릿 언어(DTL)를 사용하여 동적 데이터를 표시하고 사용자 인터페이스를 구성합니다.
- 템플릿은 순수 HTML 파일에 Python 코드를 삽입하여, 서버에서 처리된 데이터를 웹 페이지에 동적으로 표시할 수 있게 해줍니다.
- Django templates 디렉토리 내에 HTML 파일을 사용합니다.
MVC와 MVT 패턴
Django의 MVT 패턴은 MVC 소프트웨어 디자인 패턴과 유사한 패턴이며 부르는 명칭에만 차이가 있습니다.
- MVC의 View -> MVT의 Template 의미
- MVC의 Controller -> MVT의 View 의미
위에서 볼 수 있듯이 View가 의미하는 바가 다름을 주의해야 할 것 같습니다.
Reference
'Python > django' 카테고리의 다른 글
[Django] SSLCertificationError macos (0) 2024.01.25 [Django] macos 프로젝트 구조 만들기 (0) 2024.01.18 다음글이 없습니다.이전글이 없습니다.댓글