장고는 파이썬으로 작성된 오픈 소스 웹 프레임워크로, 공식 명칭은 Django이다. 이름은 영국의 재즈 기타리스트 장고 라인하르트(Jazz guitarist Django Reinhardt) 에서 따왔다. 한국어 표기인 “장고”는 원어 “Django”를 음역한 형태이다.
개요
- 개발·유지보수: Django Software Foundation(DSF) 주도로 전 세계 개발자 커뮤니티가 협업하여 진행한다.
- 최초 공개: 2005년 7월에 처음 릴리즈되었다.
- 주요 목표: 빠르고, 깔끔하며, 재사용 가능한 웹 애플리케이션을 효율적으로 개발할 수 있게 하는 데 있다. “배터리 포함(batteries‑included)” 철학을 채택하여, 일반적인 웹 개발에 필요한 기능들을 기본 제공한다.
핵심 특징
| 구분 | 내용 |
|---|---|
| 아키텍처 | Model‑Template‑View(MTV) 패턴을 사용한다. 이는 MVC(Model‑View‑Controller)와 유사하지만, 템플릿이 View 역할을 수행한다. |
| ORM | 파이썬 클래스와 데이터베이스 테이블을 매핑하는 객체‑관계 매핑(Object‑Relational Mapping) 기능을 제공한다. 주요 DBMS(예: PostgreSQL, MySQL, SQLite, Oracle 등)를 지원한다. |
| 템플릿 엔진 | 자체 템플릿 언어를 제공하며, 로직을 최소화한 선언적 구문을 강조한다. |
| 관리 인터페이스 | 자동 생성되는 웹 기반 관리자 페이지를 통해 모델 데이터를 손쉽게 CRUD(생성·읽기·수정·삭제)할 수 있다. |
| 보안 | CSRF 보호, XSS 방지, SQL 인젝션 방어 등 일반적인 웹 보안 위협에 대한 기본 방어 메커니즘을 내장한다. |
| 국제화·지역화 | 다국어 지원(i18n) 및 현지화(l10n) 기능을 표준으로 제공한다. |
| 확장성 | 미들웨어, 플러그인, 서드파티 패키지를 통한 기능 확장이 용이하다. |
주요 사용 사례
공식 문서와 다양한 기업 발표 자료에 따르면, 장고는 다음과 같은 규모와 분야의 서비스에서 활용되고 있다.
- 소셜 네트워크(예: Instagram)
- 콘텐츠 관리 시스템(CMS)
- 과학·데이터 분석 포털
- 전자 상거래 사이트
- 기업 내부 관리 시스템 등
라이선스
BSD 3-Clause “New” 또는 “Revised” License 하에 배포된다. 따라서 상업적·비상업적 목적 모두 자유롭게 사용할 수 있다.
공식 리소스
- 홈페이지: https://www.djangoproject.com/
- 문서: 공식 문서는 영문을 기본으로 제공하며, 한국어 번역본도 커뮤니티에서 지속적으로 업데이트되고 있다.
- 소스 코드: GitHub 공개 저장소(https://github.com/django/django)에서 확인할 수 있다.
개발 및 배포 환경
- 지원 파이썬 버전: 현재 릴리즈는 파이썬 3.8 이상을 요구한다. (구버전 파이썬 2.x 지원은 종료됨)
- 배포: WSGI(Web Server Gateway Interface) 표준을 따르며, Gunicorn, uWSGI, Daphne 등 다양한 WSGI 서버와 연동된다.
역사적 배경
장고는 2003년에 Lawrence Journal-World 신문의 웹 개발팀이 내부 프로젝트를 위해 만들었다. 이후 2005년에 오픈소스로 공개되었으며, 2008년에 Django Software Foundation이 설립되어 현재까지 지속적인 유지보수가 이루어지고 있다.
참고
- 공식 문서 및 발표 자료
- Django Software Foundation 홈페이지
- 주요 기술 블로그 및 학술 논문 (오픈 액세스)
본 내용은 공개된 공식 자료와 신뢰할 수 있는 기술 문헌을 기반으로 작성되었으며, 확인되지 않은 정보는 포함하지 않았다.