이번 프로젝트를 진행하면서 django framework를 사용하게 되었는데 이전에 써봤음에도 하나도 기억이 나지 않는 나이기에 나중에 django를 또 쓸 일이 있을 때 찾기 편하게 하기 위해 여기에 작성한다.
간단하게 장고 사용법 및 개념들을 다뤄갈 예정입니다.
해당 내용은 django 공식 문서를 바탕으로 작성되었습니다.
django 설계시 중요하게 생각한 점으로 해당하는 컨셉을 유지시키는 것이 중요하다 생각된다.
장고(Django)는 파이썬으로 작성된 오픈 소스 웹 애플리케이션 프레임워크로 MTV (Model Template View) 패턴 사용
디자인 패턴 : MVC vs MTV
Model : 데이터베이스에 저장되는 데이터
View : 어떤 데이터가 로직을 통하여 어떻게 표시될 것인지를 정의한다.
Controller : Model과 View 사이를 이어주는 매개체 담당, URLconf 등이 속한다.
Template : 사용자에게 보여지는 부분, html파일 등이 속한다.
MVC 패턴을 따르지만 장고의 Template으로 인해 MTV라고 이야기함.
고도의 데이터베이스 기반 웹사이트를 작성하는 데 있어서 수고를 더는 것이 장고의 주된 목표입니다.
장고는 컴포넌트의 재사용성과 플러그인화 가능성, 빠른 개발 등을 강조하고 있습니다.
ORM(Object-Relational-Mapping) 제공
객체와 관계형 데이터베이스의 데이터를 자동으로 매핑(연결)해주는 것을 말한다.
이는 SQL을 직접 작성하지 않고 CRUD(Create Read Update Delete)작업을 가능하게 합니다.
쉬운 개발 환경 제공
Django는 자체적으로 테스트용 웹 서버를 포함하고 있어, 개발 과정에서 Apache나 Nginx 등의 웹 서버가 없어도 테스트를 진행할 수 있습니다.