웹 프로그램 개발시 일반적으로 MVC ( model - view - controller ) 패턴으로 구분하여 한 요소가 다른 요소에 영향을 주지 않는 구조로 개발한다.
이를 그대로 받아들인 파이썬은 신기하게도 용어가 다르다.
파이썬에서는 view 를 template으로 controller을 view라고 불러 MTV 패턴이라고 한다.
참고한 책의 경우 MVT라고 적었지만 MVC모델과 일대일 대응되는 관계를 고려해보면 MTV패턴이라고 쓰는 것이 올바른 것 같다. 구글도 자동완성으로 MTV라고 고치려고 하기도 하고.
파이썬에서는 view를 담당하게 될 것을 대략적으로 이해할 수 있는 그림
이것도 있다.
과정을 설명하면
1. 클라이언트에게서 요청을 받으면 URLconf를 통해 URL을 우선 분석한다.
2. URL분석 결과를 통해 해당 URL에 대해 처리를 담당할 뷰를 결정한다.
3. 뷰는 로직을 실행하고 만일 데이터 베이스 처리가 필요하다면 모델을 통해 처리하고 그 결과를 반환 받는다.
4. 뷰의 로직 처리가 끝나면 템플릿을 사용하여 클라이언트에 전송할 HTML파일을 생성한다.
5. 뷰는 최종 결과로 HTML파일을 클라이언트에게 보내 응답한다.
---------
모델 뷰 템플릿
이 셋중에서 무엇을 먼저 코딩해야하는지에는 정해진 순서는 없다.
보통은 독립적으로 개발할 수 있는 모델을 먼저하는 것이 대부분이다.
뷰와 템플릿은 서로 영향을 주기 때문에 같이 하는 것도 좋지만
UI화면 설계를 먼저하고 싶으면 템플릿을,
뷰 코딩이 간단하면 뷰를 먼저 코딩한다.
결국 코딩의 순서를 정리하면
1. 프로젝트 뼈대 만들기 - 디렉토리 파일 생성
2. 모델 코딩하기 - 테이블 관련 사항을 개발. (models.py admin.py)
3. URLconf 코딩하기 - URL 뷰 매핑 관계를 정의 (urls.py)
4. 템플릿 코딩하기 - 화면 UI 개발 (templates/ 디렉토리 하위의 *.html 파일들)
5. 뷰 코딩하기 - 애플리케이션 로직 개발 (views.py)
'파이썬' 카테고리의 다른 글
프로젝트 생성전 = 뼈대 디렉토리 및 파일에 대한 설명 (0) | 2020.09.19 |
---|---|
애플리케이션 설게하기 - PK와 FK (0) | 2020.09.19 |
Template 화면 UI 정의 (0) | 2020.09.18 |
정규표현식에 사용되는 문자의 의미. (0) | 2020.09.13 |
간단 wsgi server 까지 (0) | 2020.09.12 |
my_HTTPServer / python -m http.server 8888/ cgi 서버 (0) | 2020.09.12 |
http.client 모듈 예제 download-image from google (0) | 2020.09.10 |
파이썬 urlopen()함수 예제 - Request 클래스로 요청 헤더 지정 (0) | 2020.09.10 |