장고는
python
을 이용한 웹개발에 쉽고 빠르게 만들 수 있도록 도와주는 웹 프레임 워크로 잘 알려저 있다.
쿠키 및 세션 관리, 로그인/아웃 처리 기능, 권한 처리, 데이터베이스 등등 많은 기능을 처리하도록 도와준다. 장고의 특징 및 장점들을 한번 알아보자.
1. 파이썬 프로젝트를 쉽게 관리하고 개발할 수 있다.
-2005년에 등장한 장고는 15년 이상의 세월을 감내한 프레임워크이다. 그만큼 계속해서 발전해 왔다는 의미이다. 장고를 사용하면 웹 기반의 프로젝트를 관리하기가 쉬워진다. 크롤링 등을 이용해 데이터를 수집하고 분석하여 파이썬 라이브러리를 적극적으로 활용가능하다.
2. 보안 기능을 기본적으로 제공한다.
-개발자가 웹 프로그램을 만들 때 가장 어렵게 느끼는 기능 중 하나가 보안 기능이다. 수 많은 보안 공격들이 있지만 장고는 이런 보안 공격을 기본으로 잘 막아 준다. 장고의 가장 큰 장점이라고 할 수 있다.
3. 관리자 페이지를 제공한다.
-장고 프로젝트 생성시 자동적으로 관리자 페이지를 만들어 준다. 이 관리자 페이지를 통해 데이터를 관리하고 db구조 파악을 할 수 있다.
- 장고로 만든 웹 사이트는 model
로 자료의 형태를 정의하고, view
로 어떤 자료를 어떤 동작으로 보여줄지 정의하고, template
으로 출력할 모습을 정의한다. >> MTV패턴
- 이렇게 MTV패턴의 특징을 가진 장고는 백엔드로직과 프론트엔드 디자인을 분리하여 작업할 수 있다는 장점을 가진다.
- URLconf
URL은 view와 template을 이어주는 역할을 하고 이 부분을 만들어 주는 작업을 URLconf라 한다. 시간이 지나 장고 또한 발전하여 path()
함수를 이용해 매핑과정이 간단해 졌다.
1.클라이언트로 부터
request
를 받으면URLconf
를 이용하여 URL을 분석한다.
2.URL분석 결과를 통해 해당 URL과 매핑되는View
를 실행한다.
3.View
는 자신의 로직을 실행하고, db처리가 필요하면Model
을 통해 처리하고 결과를 반환 받는다.
4.View
의 로직 처리가 끝나면Template
을 사용하여 클라이언트에 전송할 Html파일을 생성한다.
5.View
는 최종 결과로Html
파일을 클라이언트에게 보내 응답한다.
이와 같이 장고는 많은 장점을 가진 파이썬 프레임워크이지만 분명 단점 또한 존재한다. 장고는 무겁고 그렇게 빠른 웹프레임워크가 아니다. 빠른 속도가 필수가 되어 가지만 장고는 그만큼 빠른편이 아니다. 장고 외에 다른 파이썬 프레임워크들의 특징 또한 알아보자.
Pyramid
Flask