Django 개발 기본

2020. 1. 13. 22:17Tech :Web Programming

쉽고 빠르다는 장고의 개발 방식은 MVT (Model-View-Template) 에 따른 일정한 룰에 의해 진행되고, 웹 프로그래밍에서 공통적으로 필요한 기능들을 미리 만들어 둔 후 단축 함수나 Generic View 등으로 제공된다. 그 외에도 서드 파티에 의한 외부 라이브러리가 풍부하고 Instagram, NASA 등에서 사용되므로 레퍼런스도 많다는 것이 장점이다.

MVT 개발 방식

자바 웹 프로그래밍의 MVC 방식과 거의 동일한 개념. 

- 테이블을 정의하는 모델

- 애플리케이션의 제어 흐름 및 처리 로직을 정의하는 뷰

- 사용자가 보게 될 화면의 모습을 정의하는 템플릿

3가지로 구분해서 개발을 진행한다. 이렇게 하면 모델, 뷰, 템플릿 모듈 간 독립성을 유지할 수 있고, 소프트웨어 개발의 중요한 원칙인 느슨한 결합 설계의 원칙에도 부합한다. 장고에서 프로젝트를 생성하기 위해 startproject 및 startapp 명령어를 실행하면, 자동으로 프로젝트 뼈대에 해당하는 디렉토리와 파일들을 만들어준다. 모든 애플리케이션 개발에 반드시 필요한 파일들은 장고가 알아서 생성해주고 개발자는 채워넣기만 하면 되는 것.

MVT 코딩 순서

따로 정해진 순서는 없지만 화면 설계는 뷰와 템플릿 코딩으로 연결되고 테이블 설계는 모델 코딩에 반영되므로 독립적으로 개발할 수 있는 모델 먼저 코딩, 뷰와 템플릿은 서로 영향을 미치므로 모델 이후에 같이 코딩하는 것이 일반적.

1. 프로젝트 뼈대 만들기 : 프로젝트 및 앱 개발에 필요한 디렉터리와 파일 생성

2. 모델 코딩 : 테이블 관련 사항을 개발 (models.py, admin.py)

3. URLconf 코딩 : URL 및 뷰 매핑 관계를 정의 (urls.py)

4. 뷰 코딩 : 애플리케이션 로직 개발 (views.py)

5. Template 코딩 : 화면 UI 개발 (Templates/*.html)