DJANGO ?
Django는 파이썬으로 제작된 오픈소스 *웹 프레임워크입이다.
비교적 입문이 쉬운 언어인 파이썬으로 제작되어 진입장벽이 그렇게 높은 편이 아니고 특유의 높은 생산성으로 특히 스타트업에서 사랑받는 프레임워크입니다. 장고로 제작된 대표적인 사이트는 인스타그램, 핀터레스트 등이 있다.
DJANGO의 특징
1. MTV 패턴을 사용한다.
MVC 디자인 패턴과 이름만 다르고 사실상 동일하다고 생각할 수 있다.
Model은 동일하지만 View를 Template으로 표현하고 Controller는 View라고 표현한다.
Model은 DB에 저장되는 데이터
Template은 유저에게 보여지는 UI
View는 데이터를 처리하고 Template에 데이터를 전달하는 역할을 한다고 볼 수 있다.
2. 강력한 ORM기능을 지원한다.
ORM(Object Relational Mapping, 객체 관계 매핑)은 객체와 관계형 DB를 연결해주는 개념을 의미한다.
생성한 클래스(객체)를 SQL문으로 자동 변환하여 데이터를 다루는 것이다.
이 기능 덕분에 SQL문을 사용하지 않고도 DB데이터를 관리하는 것이 가능하다.
직접 SQL 쿼리를 작성하지 않아도 파이썬 코드로 DB를 조작 가능함을 의미하며 이는 개발자가 애플리케이션의 로직 작성에 집중할 수 있도록 도움을 준다.
3. 자체적인 템플릿을 지원한다.
Django Template을 지원하며, 템플릿 태그를 사용해 HTML 템플릿에 context로 전송된 데이터를 사용할 수 있다.
이것은 동적인 페이지를 구현하는데 도움을 주게 된다.
4. 소스코드의 변경 사항을 자동으로 반영한다.
장고는 자동으로 .py파일의 변동을 감시한다. 변경이 감지될 경우 변경 내역을 자동으로 반영해 주게 된다.
따라서 코드를 변경할 때 마다 수동으로 웹 서버를 재시작 할 필요가 없다.
따라서, 간단하게 장단점으로 나누어 본다면
장점
1. 파이썬을 기반으로 한 만큼 진입장벽이 낮은 편이다.
2. 생산성이 높고 개발 비용을 꽤 절감시킬 수 있다.
3. URL디자인이 매우 편리하다.(정규표현식 사용 가능, 함수와 URL을 1:1 매칭 가능)
4. 파이썬 기반의 머신러닝, 데이터 분석 라이브러리와 융합하여 사용하기 편하다.
5. 출시된지 오랜 시간이 흘렀고, Instagram처럼 성공적으로 도입된 사례가 많은 만큼 안정성과 기능이 충분히 검증되었다.
6. 커뮤니티 활동이 활발하고, 관련 문서(자료)가 많다.
단점
1. 파이썬을 기반으로 한 만큼 파이썬의 단점이 전부 포함된다.
2. 다른 웹 프레임워크에 비해 비교적 속도가 느리다.
3. 숙련되기 위해선 장고 자체에 대한 이해도 뿐만 아니라 파이썬에 대해서도 높은 이해도를 요구한다.
4. 관련 문서도 많고 커뮤니티 활동도 활발하지만 대부분 한글화가 되어있지 않다.
'DJANGO' 카테고리의 다른 글
[DJANGO] DJANGO 개발 환경 만들기 (0) | 2023.07.15 |
---|