Networks/Django

SK networks AI Camp - Backend&Django

코딩하는 Español되기 2024. 8. 5. 18:00

MVC 패턴(Model-View-Controller)

○ 옛날 Application 개발은 다양한 코드 및 기능들이 한 곳에서 만들어짐(즉, 디자인/프론트엔드/백엔드 등)

○ 요즘 Application 개발은 MVC 패턴을 적용한 모델, 뷰, 컨트롤러 3가지 주체로 개발 진행

 * 유지보수성, 확장성, 유연성 증가와 중복 코딩 문제가 사라짐

○ MVC 디자인 패턴 만들어진 과정

    ● Model : 안전하게 데이터 저장

    ● View : 데이터를 유저에게 보여줌

    ● Controller  : 사용자 입력과 이벤트에 반응해 Model & View 업데이트 

 

MVC Roles and Relationships Diagram

1. User가 웹사이트 접속

2. Controller는 모델 호출 (사용자가 요청한 웹사이트를 서비스하기 위함)

3. Model은 DB나 파일과 같은 데이터 소스를 제어 후 결과 리턴

4. Controller는 Model이 리턴한 결과를 View에 반영(Updates)

5. 데이터가 반영된 View는 사용자에게 보여짐

 

ORM(Object Relational Mapping; 객체-관계 매핑)

○ ORM : 서로 다른 RDBMSs에서 필드를 스스로 매핑해 간단하게 DB 구성 가능

 * 복잡한 SQL문 사용하지 않고, 재사용 및 유지보수의 편리성 증가

 

Django

○ Python 기반 오픈 소스 web Application Framework

○ Django를 활용해 UI/UX와 Front-end 개발, Back-end 개발 진행 가능

 

MTV 패턴

○ Django는 MVC 기반 프레임워크이지만 같은 개념을 MTV(Model-Template-View)라고 부름

○ Django의 기본 구성

    ● Model : 데이터에 관한 정보(저장, 접근, 검증, 작동 등)를 처리하고 논리 및 규칙을 직접 관리

    ● Template : 데이터가 어떻게 표시되는 지 정의, 사용자에게 실제 보여지는 웹페이지, 문서 작성

    ● View : 어떤 데이터 표시할지 정의 + HTTP 응답상태 코드 반환

○ DB에서 관리할 데이터를 정의(Model)하고, 사용자가 보는 화면(Template)Application의 처리 논리(View)를 정의

 

Django 작동원리