장고 개념

코딩 연습/Django 2018. 11. 15. 14:42

모델 - 데이터베이스에 저장되는 데이터

템플릿 - 사용자에게 보여지는 UI(User Interface)

뷰 - 프로그램 로직(데이터를 가져와 필요에 따라 처리한 결과를 템플릿에 전달)


ex) 블로그

모델 - 블로그의 내용을 가져오거나 저장, 수정

뷰 - 버튼을 눌렀을 때 어떤 함수를 호출하여 데이터를 어떻게 가공할 것인지 결정

템플릿 - 화면을 꾸며서 볼 수 있는 페이지를 만들어주는 역할


MVT패턴 처리과정

1) 클라이언트 요청 URL 분석

2) URL 분석을 통해 처리를 담당할 뷰를 결정

3) 뷰는 함수를 호출하여 필요에 따라 모델을 통해 데이터베이스를 처리 받는다

4) 뷰는 로직 처리 후 템플릿을 사용하여 HTML 파일을 클라이언트에게 보낸다


ORM(Object-Relational Mapping) - 객체와 관계형 데이터베이스를 연결해주는 역할

- 데이터베이스 대신에 클래스(객체)를 사용하여 데이터를 처리

- 클래스끼리 작업을 하면 ORM이 자동으로 데이터베이스를 처리


URLconf

- URL과 뷰(함수)를 매핑하는 것


View - 프로그램 로직을 정의해둔다

- 웹 요청에 따라 URL을 분석하고 해당 URL에 매핑된 뷰를 호출

- 웹 요청을 받고, 데이터베이스 처리 후 결과를 템플릿 처리하여 HTML로 된 데이터를 클라이언트로 반환


Template - 화면 UI를 정의한다

- 장고가 클라이언트(웹브라우저)에게 반환하는 최종 응답은 HTML 텍스트이다

- 개발자가 html 파일을 작성하면, 장고는 이를 클라이언트에 보내고, 클라이언트를 해석하여 화면에 보여준다

- 개발자가 작성하는 html 파일을 템플릿이라고 한다


MVT 코딩 순서

- 독립적으로 개발할 수 있는 모델을 먼저 코딩하고, 뷰와 템플릿을 이어서 코딩하는 것이 일반적

- 뷰와 템플릿의 경우는 UI화면을 생각하면서 로직을 풀어나가는 것이 쉬우므로 템플릿을 먼저 코딩하기도 한다

1) 프로젝트 뼈대 만들기

2) 모델 코딩하기 - 테이블 개발(models.py, admin.py)

3) URLconf 코딩하기 - URL과 뷰의 매핑 관계 정의 (urls.py)

4) 템플릿 코딩하기 - 화면 UI 개발(.html)

5) 뷰 코딩하기 - 애플리케이션 로직 개발(views.py)



블로그 이미지

쵸잇

,