MVC와MTV는 거의 동일함.
Model
데이터라고 생각하면 됨 사용자들이 웹사이트 같은 곳에서 데이터를 입력하고 전송을 받음. 그런것 들이 데이터베이스 서버에 저장이 되는데 그런것들을 다루는게 Model입니다.
View
어떤 모델에 있는 데이터를 웹서버가 들고와서 그 데이터를 유저에게 전송을 해줘야함.근데 전송할때 단순히 그냥 전송하는게 아니라 유저가 원하는 어떠한 형태의 데이터로 적절하게 만들어서 보내주는 역할을 담당하는게 View입니다.
model,controller,view,user의 관계
- 사람 또는 클라이언트가 컨트롤러에서 다양한 이벤트,인풋을 조작을 함.
- 그때 컨트롤러는 model에 있는 데이터를 가져와 가공을 하고 view로 보내짐.
- view를 다시 또 user에게 보내짐.
- 장고에서는 controller대신template를 씀.(MVC모델을 그대로 쓴다고 생각하면 됨)
Django 개념
장고라는 웹 프로젝트를 생성하면 그 안에는 다양한 파일들이 생성 됨.
녹색으로 표시 된 파일이 우리가 다루게 될 파일임.필수적인것 하나씩 정리를 해보자.
WSGI(wsgi.py)
크게 건드릴 일은 거의 없다고 한다.
웹서버와 장고를 적절히 결합시켜 주는 역할.URL RESOLUTION(urls.py)
wsgi.py에서 신호가 들어오면 가장 먼저 받는 곳.정규표현식으로 구현되어 있음.
VIEW(views.py)
실질적으로 파이썬 코드를 많이 작정 하는 곳. view에서 판단을 함. 사용자의 요청에 의해서 데이터베이스에 데이터를 입력을 하든지, 아니면 데이터베이스로 부터 데이터를 가지고 와서 사용자에게 리스트를 보여줄건지.
views.py가 결정을 함. 그리고 models.py에 신호를 보냄MODEL(models.py)
데이터베이스와 관련된 다양한 동작을 수행하게 됨.
TEMPLATE(example.html)
html파일안에 다양한 로직을 삽입 할 수 있음.로직은 컨트롤과 관련된 다양한 로직들임.하지만 대단히 복잡한 로직이 들어가는건 아님.view에서 받은 데이터를 어떻게 html파일에 잘 보여줄지 하는 스크립트 파일들이 여기에 담겨짐.비교적 손쉽게 다룰수 있음.
사용자의 인터페이스에 적절하게 구성을 해주고 그 구성된 정보가 web server로 감.
출처 : https://www.youtube.com/watch?v=LYmZB5IIwAI&feature=youtu.be