안녕하세요 정쌤입니다! 오늘은 Django의 Model을 배우기 앞서 MTV 패턴에 대해서 공부해 보겠습니다.
MTV가 무엇을 의미할까요?
MTV 는 Model-Template-View 를 의미합니다. 장고는 Model-Template-View 가 상호작용으로 작동을 하는 웹프레임워크입니다. 그래서 장고는 MTV기반의 웹프레임워크입니다. 그러면 각각의 Model-Template-View 를 살펴보겠습니다.
1. Model
모델은 데이터베이스에 저장되는 데이터를 의미합니다. excel과 같은 표의 형태로 정리하여 데이터베이스에 넣는다고 생각하면 됩니다. 원래 DB를 다루기 위해서는 SQL이라는 언어를 알아야하지만, 장고는 이 SQL을 몰라도 DB 작업을 가능하게 해주는 ORM을 제공하기 때문에 공부할 내용이 훨씬 적어집니다.
여기서 ORM이란 Object-Relational Mapping의 약자로, SQL이라는 언어 대신 데이터베이스를 쉽게 연결해주는것을 의미합니다.
2. Template
템플릿은 사용자에게 보여지는 부분입니다. 장고 App 만들기에서 home.html의 역할이 바로 Template 입니다. 장고 Template 문법에 맞게 python문법을 활용하여 작성하면 되므로, 다른 작업들과 화면 디자인 작업을 분리하여 확장성을 극대화 시킬 수 있다는 장점을 가지고 있습니다.
3. View
뷰는 웹 요청을 받고, 전달받은 데이터들을 해당 어플리케이션의 로직으로 가공하여, 그 결과를 템플릿에 보내주는 역할을 합니다. 즉 데이터를 가공하고 처리하는 역할을 하고있습니다.
4. URLconf (URL 설계)
URL은 view와 template을 이어주는 역할을 합니다. 이 부분을 만들어 주는 작업을 URLconf라고 합니다. 장고 1.x 버전에서는 이부분에서 정규표현식을 사용해 복잡했지만, 장고 2.x 버전은 개발자 들에게 path() 함수를 제공하여 그 과정을 훨씬 매끄럽게 진행할수있게 도와줍니다.
5. MTV 상호작용 정리
그림으로 보시니까 이해가 조금 되시나요? 이제부터 저희가 개발하는 웹서비스는 다 이런 메커니즘으로 작동을 하게됩니다.
오늘은 장고의 Model을 공부하기 앞서 장고의 MTV 패턴에 대해서 공부해보았습니다. 오늘 배운 MTV 패턴을 이용하여 앞으로 웹서비스를 개발하게 될것입니다. 오늘도 공부하시느라 고생하셨습니다!
'django' 카테고리의 다른 글
Django App 만들기 (0) | 2020.07.10 |
---|---|
Django 환경설정(2) (0) | 2020.07.08 |
Django 환경설정(1) (0) | 2020.07.08 |
Django(장고)란 무엇일까? (0) | 2020.07.08 |