본문 바로가기

파이썬 프로그래밍/Django기초

[Django] 장고. MVC패턴의 기초, 이해

지금까지 해온 실습을 바탕으로 정리한 게시글 입니다.


1. MVC패턴의 구동순서

가장 먼저 mysite라는 project -> mysite 폴터 -> urls.py 안에 있는 -> urlpatterns부터 보게 됩니다.

보면 기본값이 elections.urls로 가라고 되어있네요

그럼 elections.urls로 따라가 봅니다.

  


elections 폴더 -> urls.py 안에 보면 -> views.py 파일 안에 index 함수를 가리키고 있습니다.

따라가 보겠습니다.




따라가 보면 바로 전시간에 했던 내용입니다.

전시간 강의 바로가기 클릭 (DB를 html화면에 출력하기)



그림으로 쉽게 보는 MVC 패턴

장고의 MVC 패턴은 이렇게 정의할 수 있습니다.

앞서 실습해봤던 것을 예를들어서 설명하자면

Model (models.py)

- Candidate 클래스의 형식 그대로 DB에 저장하거나 불러오는 경우

View (templates)

- 화면에 어떤 장면을 보여줄지 (index.html)

Controller (views.py)

- Candidate 모델에서 데이터를 읽어 index.html에 전달






화면의 View가 있는데 왜 Controller는 views.py가 결정을 하는가??

views.py 화면입니다. 위에 Controller의 정의를 보셨듯 Candidate 모델에서 데이터를 읽어 index.html에 전달하는 코드가 views.py에 저장되어 있습니다.



또한 view는 templates이라는 폴더안에 저장이 되어 있습니다. 해당 폴더 안에 있는 index.html을 보면..

화면에 보여주는 정말 view가 맞긴 하네요


MVC프레임 워크를 따르면서 컨트롤러를 왜 view라고 부르는지에 대한 답변입니다.

대충 해석해보자면..

MVC의 해석에서 "보기"는 사용자에게 표시되는 데이터를 설명합니다. 데이터가 어떻게 보이는지는 아니지만 데이터가 표시됩니다. 뷰는 표시되는 데이터가 아니라 표시되는 데이터를 설명합니다. 그것은 미묘한 차이입니다.

따라서 우리의 경우 "view"는 특정 URL에 대한 파이썬 콜백 함수입니다. 콜백 함수는 어떤 데이터가 표시되는지 설명하기 때문입니다.



강의 출처: https://tryhelloworld.co.kr/