- MVC & MFV
- Django 개념
1-1. Model
안전하게 데이터 저장
1-2. View
데이터를 적절하게 유저에게 보여줌
1-3. Control,Template(Django)
사용자의 입력과 이벤트에 반응하여 Model과 View를 업데이트
예전에는 보기와 같이 다양한 코드들이 하나의 파일에 들어있었습니다.
그래서 여러명이 함께 작업하는데 불편함이 있었습니다. 예를 들어
디자인적인 요소때문에 디자이너가 코드를 수정 했을 때 자신이 잘 모르는 컨트롤 관련코드를 건들였을 때 전체 시스템에 문제가 생기는 경우가 있었습니다.
위와 같은 문제를 해결위해 MVC라는 모델을 생각하였습다.
Django에서는 controller대신 Template이 들어가는 차이가 있고
MVC형태로 작동합니다.
위 그림이 Django에 전체적인 플로우를 나타내고 있습니다.
웹브라우저에서 액션이 생기면 Django서버로 들어오게 됩니다.
우선 url dispatcher에서 웹브라우저에서 요청한 url를 분석을 하게 됩니다.
그러면 그 분석한 url같이 적합한 view로 보내주게 됩니다.
view는 사용자 요청을 받아서 데이터베이스에 접근해서 데이터를 가공해야 할지 알려주면 모델에서 실질적인 데이터 베이스와 커넥션을 하고 데이터를 가져오게 됩니다.
데이터 베이스에서 모델로 다시 데이터를 보내주면 다시 모델이 뷰의 실제적인 데이터를 내보내주고 뷰가 실직적으로 웹브라우저에 보여줄 데이터를 템플릿에 전송해줍니다.
그러면 템플레이트가 자바스크립트나 html같이 다양한 형태였던 유저인터페이를 만들어서 웹브라우저를 넘겨주게 됩니다.
위와 같이 보면 과정들이 복잡하게 있는데 이런 이유는 특정영역을 분리하는게 중요하기 때문입니다.
장고의 구성을 더 구체적으로 살펴보면 위그림과 같습니다.