Django를 처음으로 공부하고 기본적인 것들을 적어보려고 합니다
주로 쓰이는
Web Framework
는Spring
,Django
,Node.js
,Ruby on Rails
등이 있음
Django
는 위 Web Framework
의 한 종류이고 Python
언어를 기반으로 하기 때문에 Python
의 장단점을 전부 가지고 있다
MVT
는 Django
에서 기본적으로 사용되는 디자인 패턴이며 디자인 패턴에서 주로 사용되는 것이 MVC
인데 장고 프레임워크에서는 V를 Template
, C는 View
라고 표현하며, MVC
를 MVT
패턴이라고 한다.
장고에서는 ORM
이라는 기법을 사용하는데 데이터베이스를 사용할 땐 SQL언어를 사용하지만 장고에서는 이에 대응되는 파이썬 문법을 통해서 데이터베이스를 정의
하나의 클래스는 데이터베이스의 테이블에 해당되고, 클래스 안의 속성은 데이터베이스 테이블의 컬럼에 해당되는데 이렇게 연결시키는 것을 Object-Relational-Mapping
이라고 하고 줄여서 ORM
이라고 함
view
는 애플리케이션의 로직을 담당하는데 이전에 만들었던 model
에서 필요한 정보를 받아와 template
에 전달하는 역할을 하고 반대로 template
에서 사용자의 요청을 받아 model
이나 web server
에 구현되어 제공할 수 있는 기능, 서비스들을 가져오기도 함
디자인 영역의 분리 및 재사용성을 높이기 위해 HTML구조만을 따로 모아 놓은 것(Front-end 영역
)
Client
의 요청을 받으면 URLconf
를 통해 URL
분석URL
분석 결과를 통해 해당 URL
에 대한 처리를 담당할 View
결정View
는 자신의 로직을 실행하며 Database
처리가 필요하면 Model
을 통해 처리하고 그 결과를 반환받음View
는 자신의 로직 처리가 끝나면 Template
을 사용하여 Client
에 전송할 HTML파일 생성View
는 최종 결과로 HTML파일을 Client
에게 보내 응답Ref.
https://ko.wikipedia.org/wiki/%EC%9B%B9_%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC
https://brunch.co.kr/@toktokhandev/12
https://butter-shower.tistory.com/49
https://justmakeyourself.tistory.com/entry/django-mvt-pattern
https://heiswed.tistory.com/entry/%EC%9E%A5%EA%B3%A0Django-%EA%B0%9C%EB%B0%9C-%ED%85%9C%ED%94%8C%EB%A6%BFTemplate