UI 설계


테이블 설계 - 모델 코딩(데이터 구조 설계)


뷰 및 템플릿 코딩

- 요청에서부터 응답까지의 처리 흐름에 대한 로직 설계가 필요


URL - View - Template 의 로직 구조 설계


CRUD

Create, Read, Update, Delete


폼 처리하기

- 폼은 사용자로부터 입력을 받기 위해 사용한다

- 서버 시스템의 상태를 건드리냐 아니냐에 따라 POST/GET 방식으로 나뉜다

블로그 이미지

쵸잇

,

장고 개념

코딩 연습/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)



블로그 이미지

쵸잇

,

가상환경 폴더는 갖고 있는 데이터가 많고 굳이 깃허브에 올릴 필요가 없다.


따라서 깃허브에 등록시 제외시켜도 무방하다.


내가 지정한 가상환경 폴더명은 "my_project"이다.


지난번에 우리는 ".gitignore"라는 파일을 만들어서 "db.sqlite3" 파일을 제외시켰다.


그와 유사하게 ".gitignore" 파일에 "my_project/"라고 "db.sqlite3"가 적힌 목록에 이어서 작성하면 끝이다.


그러면 똑같은 방식으로 "my_project" 폴더가 깃허브 등록시 제외된다.   

'코딩 연습 > Django' 카테고리의 다른 글

모델 만들기에서 카테고리 선택까지  (0) 2018.11.21
애플리케이션 설계하기  (0) 2018.11.16
장고 개념  (0) 2018.11.15
댓글 입력창 만들기 2 (뷰 다루기)  (0) 2018.10.19
장고 설치하기  (0) 2018.10.07
블로그 이미지

쵸잇

,