장고 (웹 프레임워크)
1. 개요
장고는 에이드리언 홀로바티와 사이먼 윌리슨이 2003년 파이썬으로 개발을 시작한 웹 프레임워크이다. MVC 디자인 패턴을 따르며, 모델(Model), 템플릿(Template), 뷰(View)로 구성된 MTV 프레임워크로도 불린다. 장고는 웹 개발의 번거로움을 줄여 빠른 개발을 가능하게 하며, 다양한 내장 기능과 외부 패키지를 통해 기능을 확장할 수 있다. 아파치, Nginx 등 다양한 웹 서버와 데이터베이스를 지원하며, 릴리스는 장기 지원(LTS) 릴리스를 제공한다. 장고 개발자 및 사용자를 위한 연례 컨퍼런스인 DjangoCon이 개최되며, 다른 언어로 포팅되기도 한다. 장고를 기반으로 구축된 CMS로는 Django CMS, Wagtail, Mezzanine 등이 있다.
-
파이썬 웹 프레임워크 -
플라스크 (웹 프레임워크)
플라스크는 Armin Ronacher가 개발한 파이썬 웹 프레임워크로, Werkzeug, Jinja, MarkupSafe 등의 구성 요소를 기반으로 개발 서버, Jinja2 템플릿 엔진, 유닛 테스트 지원 등 다양한 기능을 제공하며, 파이썬 웹 개발 프레임워크 중 높은 인기를 얻고 있다. -
파이썬 웹 프레임워크 -
Zope
Zope는 파이썬으로 작성된 오픈 소스 웹 애플리케이션 프레임워크이자 애플리케이션 서버로서, 객체 데이터베이스를 사용하여 웹 사이트 콘텐츠를 관리하며, HTML 템플릿 생성을 위한 DTML과 ZPT를 제공하고, Plone CMS 및 ERP5의 기반이 되었으며, Zope 3 프로젝트를 통해 BlueBream, Zope Toolkit, Grok 프레임워크 개발에 영향을 주었고, Zope 4와 Zope 5로 지속적으로 발전하고 있다. -
고속 개발 도구 -
크로스 플랫폼
크로스 플랫폼은 소프트웨어나 애플리케이션이 다양한 운영 체제, 하드웨어 플랫폼 또는 이들의 조합에서 동작할 수 있도록 하는 기술을 의미하며, 웹 애플리케이션 형태로 구현되거나 플랫폼 연동을 통해 하드웨어 경계를 넘어 콘텐츠를 즐길 수 있도록 한다. -
고속 개발 도구 -
LabVIEW
LabVIEW는 내쇼날 인스트루먼트에서 개발한 그래픽 기반 프로그래밍 환경으로, 시각적인 블록 다이어그램을 사용하여 데이터 수집, 계측기 제어, 자동화 시스템 구축 등에 활용되며 사용자 인터페이스 생성 통합, 병렬 프로그래밍 지원, 다양한 디자인 패턴 제공을 통해 복잡한 애플리케이션 개발을 돕는다. -
파이썬으로 작성된 자유 소프트웨어 -
캘리버
캘리버는 다양한 전자책 파일 형식과 단말기를 지원하는 오픈소스 소프트웨어로, 편집, 변환, 메타데이터 관리, 라이브러리 검색, 온라인 콘텐츠 수집, 원격 액세스, 전자책 제작 등의 기능을 제공하며, 플러그인을 통해 DRM 제거도 가능하다. -
파이썬으로 작성된 자유 소프트웨어 -
클램윈
클램윈은 ClamAV 엔진 기반의 오픈 소스 백신 소프트웨어로, 트로이 목마, 바이러스, 멀웨어 등 다양한 악성 위협 분석 자료를 제공하며 예약 검사, 수동 검사, 컨텍스트 메뉴 통합 등의 기능을 지원하지만 실시간 감시 기능은 제공하지 않는다.
2. 역사
에이드리언 홀로바티(Adrian Holovaty)와 사이먼 윌리슨(Simon Willison)은 2003년 가을부터 파이썬을 이용해 애플리케이션을 만들기 시작하면서 장고를 처음 개발했다. 당시 두 사람은 로렌스 저널-월드(Lawrence Journal-World)라는 신문사의 인턴 웹 프로그래머였는데, PHP는 규모가 큰 웹사이트에 적합하지 않다고 생각하여 파이썬으로 웹 개발을 하기로 결정했다. 하지만 규모가 큰 웹 개발에 적합한 파이썬 도구가 없다는 것을 깨닫고 직접 개발하게 되었다. 제이콥 캐플런-모스는 윌리슨의 인턴십이 끝나기 직전, 장고 개발 초기에 합류했다. 장고라는 이름은 홀로바티가 좋아하던 집시 재즈 기타리스트인 장고 라인하르트에서 따온 것이다.
2005년 7월, 개발자들은 로렌스의 소유자인 더 월드 컴퍼니(The World Company)를 설득하여 장고를 BSD 사용 허가서로 공개했다. 2008년 6월, 장고 소프트웨어 재단(DSF)이 공식적으로 장고 프로젝트를 관리하게 된다는 공지가 장고 웹사이트에 올라왔다. 2017년 12월에 장고 2.0 버전이 출시되었다.
3. 특징
장고는 웹 개발에서 번거로운 요소들을 새로 개발할 필요 없이 내장된 기능만을 이용해 빠른 개발을 할 수 있다는 장점이 있다.
장고는 파이썬으로 코딩한 모델을 관계형 데이터베이스로 구축해주는 모델(Model), HTTP 요청을 처리하는 웹 템플릿 시스템인 뷰(View), URL의 라우팅을 처리하는 URL 컨트롤러 (Controller) 로 구성된 MVC 디자인 패턴을 따른다. 하지만 전통적인 MVC 디자인 패턴에서 이야기하는 컨트롤러의 기능을 프레임워크를 자체에서 하기 때문에 모델(Model), 템플릿(Template), 뷰(View)로 분류해 MTV 프레임워크라고 보기도 한다.
모델은 데이터에 관한 정보를 담고,일반적으로 각각의 모델은 데이터베이스에서 테이블에 해당한다. 장고에서는 모델을 정의할 때 필드의 종류를 지정해줘야 하는데, 이것이 데이터베이스에게 컬럼 타입을 알려주고 HTML 폼으로 표시 될 때의 입력 타입도 내포하는 역할을 한다. 또한 장고의 폼 자동 생성 API를 이용할 때 데이터 검증에 쓰이기도 한다.
뷰는 HTTP 응답(response)를 반환해야 하며 응답의 종류는 웹 페이지, 리디렉션, 문서 등의 다양한 형태가 가능하다. 장고에는 자주 사용되는 형태의 뷰를 패턴화하여 추상화 해둔 재사용 가능한 뷰들을 내장해 놓았는데, 이들을 제네릭 뷰(generic view) 라고 하며 원하는 제네릭 뷰를 상속한 클래스 뷰를 생성하여 사용할 수 있다.
템플릿은 사용자에게 실제로 보여지는 웹 페이지나 문서를 다룬다. 흔히 HTML 에 기반해서 템플릿을 만들며, HTML 에 동적인 요소를 추가하기 위해 파이썬의 일부 기능을 쓰게 도와주는 장고 템플릿 태그가 존재한다.
Django는 자체 명명법을 가지고 있지만, 예를 들어 호출 가능 객체는 HTTP 응답을 생성하는 "뷰"로 명명하며,, 핵심 Django 프레임워크는 MVC 아키텍처로 볼 수 있다. 이는 데이터 모델 (Python 클래스로 정의)과 관계형 데이터베이스 ("Model") 사이를 중재하는 ORM (object-relational mapper), 웹 템플릿 시스템("View")을 사용하여 HTTP 요청을 처리하는 시스템, 그리고 정규 표현식 기반 URL 디스패처 ("Controller")로 구성된다.
핵심 프레임워크에는 다음이 포함된다.
* 개발 및 테스트를 위한 경량의 독립형 웹 서버
* HTML 양식과 데이터베이스에 저장하기에 적합한 값 사이를 변환할 수 있는 양식 직렬화 및 유효성 검사 시스템
* 객체 지향 프로그래밍에서 차용한 상속 개념을 활용하는 템플릿 시스템
* 여러 캐시 방법을 사용할 수 있는 캐싱 프레임워크
* 요청 처리의 다양한 단계에서 개입하여 사용자 정의 기능을 수행할 수 있는 미들웨어 클래스 지원
* 응용 프로그램의 구성 요소가 미리 정의된 신호를 통해 서로 이벤트를 통신할 수 있도록 하는 내부 디스패처 시스템
* Django 자체 구성 요소를 다양한 언어로 번역하는 기능을 포함한 국제화 시스템
* Django 모델 인스턴스의 XML 및/또는 JSON 표현을 생성하고 읽을 수 있는 직렬화 시스템
* 템플릿 엔진의 기능을 확장하는 시스템
* Python의 내장 단위 테스트 프레임워크에 대한 인터페이스
장고에는 웹 개발에서 자주 쓰이는 애플리케이션이 'contrib' 패키지에 내장되어 있다. 주요 기능은 다음과 같다.
* 확장 가능한 사용자 인증 시스템
* 동적 관리자 인터페이스
* RSS 또는 Atom 피드 생성 도구
* 사이트맵 생성 도구
* 사이트 간 요청 위조(CSRF), 크로스 사이트 스크립팅(XSS), SQL 삽입과 같은 해킹 시도에 대한 보안 대책
* 지리 정보 시스템(GIS) 응용 프로그램 개발 프레임워크
이 외에도 유연한 댓글 시스템, Textile이나 Markdown 등의 가벼운 마크업 언어 사용이 가능한 템플릿 라이브러리 등이 포함되어 있다.
장고는 내장된 요소 외에도 외부 패키지를 이용하여 기능을 확장할 수 있다. Django Packages 웹사이트에는 3600개가 넘는 패키지가 등록되어 있으며, 커뮤니티 구성원들의 기여로 다양한 패키지들이 개발되고 있다. 이는 파이썬의 "건전지 포함"(Batteries Included) 철학을 따르는 것으로 볼 수 있다.
장고의 설정 시스템은 재사용 가능한 앱 규칙에 따라 외부 코드를 프로젝트에 연결할 수 있게 해준다. 5000개 이상의 패키지가 프레임워크의 기능을 확장하여 등록, 검색, API 제공, CMS 등 다양한 솔루션을 제공한다.
하지만 이러한 확장성은 내부 구성 요소 간의 종속성에 의해 제약을 받기도 한다. 장고는 느슨한 결합을 지향하지만, 템플릿 필터 및 태그는 단일 엔진 구현을 가정하고, 인증 및 관리 번들 애플리케이션은 내부 ORM을 사용해야 한다. 이러한 요소들이 필수적인 것은 아니지만, 재사용 가능한 앱들이 이에 의존하는 경향이 있어 개발자들이 공식 스택을 계속 사용하도록 유도하는 측면이 있다.
3.1. 구성 요소
장고는 파이썬으로 코딩한 모델을 관계형 데이터베이스로 구축해주는 모델(Model), HTTP 요청을 처리하는 웹 템플릿 시스템인 뷰(View), URL의 라우팅을 처리하는 URL 컨트롤러 (Controller) 로 구성된 MVC 디자인 패턴을 따른다. 하지만 전통적인 MVC 디자인 패턴에서 이야기하는 컨트롤러의 기능을 프레임워크를 자체에서 하기 때문에 모델(Model), 템플릿(Template), 뷰(View)로 분류해 MTV 프레임워크라고 보기도 한다.
모델은 데이터에 관한 정보를 담고,일반적으로 각각의 모델은 데이터베이스에서 테이블에 해당한다. 장고에서는 모델을 정의할 때 필드의 종류를 지정해줘야 하는데, 이것이 데이터베이스에게 컬럼 타입을 알려주고 HTML 폼으로 표시 될 때의 입력 타입도 내포하는 역할을 한다. 또한 장고의 폼 자동 생성 API를 이용할 때 데이터 검증에 쓰이기도 한다.
뷰는 HTTP 응답(response)를 반환해야 하며 응답의 종류는 웹 페이지, 리디렉션, 문서 등의 다양한 형태가 가능하다. 장고에는 자주 사용되는 형태의 뷰를 패턴화하여 추상화 해둔 재사용 가능한 뷰들을 내장해 놓았는데, 이들을 제네릭 뷰(generic view) 라고 하며 원하는 제네릭 뷰를 상속한 클래스 뷰를 생성하여 사용할 수 있다.
템플릿은 사용자에게 실제로 보여지는 웹 페이지나 문서를 다룬다. 흔히 HTML 에 기반해서 템플릿을 만들며, HTML 에 동적인 요소를 추가하기 위해 파이썬의 일부 기능을 쓰게 도와주는 장고 템플릿 태그가 존재한다.
Django는 자체 명명법을 가지고 있지만, 예를 들어 호출 가능 객체는 HTTP 응답을 생성하는 "뷰"로 명명하며,, 핵심 Django 프레임워크는 MVC 아키텍처로 볼 수 있다. 이는 데이터 모델 (Python 클래스로 정의)과 관계형 데이터베이스 ("Model") 사이를 중재하는 ORM (object-relational mapper), 웹 템플릿 시스템("View")을 사용하여 HTTP 요청을 처리하는 시스템, 그리고 정규 표현식 기반 URL 디스패처 ("Controller")로 구성된다.
핵심 프레임워크에는 다음이 포함된다.
* 개발 및 테스트를 위한 경량의 독립형 웹 서버
* HTML 양식과 데이터베이스에 저장하기에 적합한 값 사이를 변환할 수 있는 양식 직렬화 및 유효성 검사 시스템
* 객체 지향 프로그래밍에서 차용한 상속 개념을 활용하는 템플릿 시스템
* 여러 캐시 방법을 사용할 수 있는 캐싱 프레임워크
* 요청 처리의 다양한 단계에서 개입하여 사용자 정의 기능을 수행할 수 있는 미들웨어 클래스 지원
* 응용 프로그램의 구성 요소가 미리 정의된 신호를 통해 서로 이벤트를 통신할 수 있도록 하는 내부 디스패처 시스템
* Django 자체 구성 요소를 다양한 언어로 번역하는 기능을 포함한 국제화 시스템
* Django 모델 인스턴스의 XML 및/또는 JSON 표현을 생성하고 읽을 수 있는 직렬화 시스템
* 템플릿 엔진의 기능을 확장하는 시스템
* Python의 내장 단위 테스트 프레임워크에 대한 인터페이스
3.2. 내장 애플리케이션
장고에는 웹 개발에서 자주 쓰이는 애플리케이션이 'contrib' 패키지에 내장되어 있다. 주요 기능은 다음과 같다.
* 확장 가능한 사용자 인증 시스템
* 동적 관리자 인터페이스
* RSS 또는 Atom 피드 생성 도구
* 사이트맵 생성 도구
* 사이트 간 요청 위조(CSRF), 크로스 사이트 스크립팅(XSS), SQL 삽입과 같은 해킹 시도에 대한 보안 대책
* 지리 정보 시스템(GIS) 응용 프로그램 개발 프레임워크
이 외에도 유연한 댓글 시스템, Textile이나 Markdown 등의 가벼운 마크업 언어 사용이 가능한 템플릿 라이브러리 등이 포함되어 있다.
3.3. 확장성
장고는 내장된 요소 외에도 외부 패키지를 이용하여 기능을 확장할 수 있다. Django Packages 웹사이트에는 3600개가 넘는 패키지가 등록되어 있으며, 커뮤니티 구성원들의 기여로 다양한 패키지들이 개발되고 있다. 이는 파이썬의 "건전지 포함"(Batteries Included) 철학을 따르는 것으로 볼 수 있다.
장고의 설정 시스템은 재사용 가능한 앱 규칙에 따라 외부 코드를 프로젝트에 연결할 수 있게 해준다. 5000개 이상의 패키지가 프레임워크의 기능을 확장하여 등록, 검색, API 제공, CMS 등 다양한 솔루션을 제공한다.
하지만 이러한 확장성은 내부 구성 요소 간의 종속성에 의해 제약을 받기도 한다. 장고는 느슨한 결합을 지향하지만, 템플릿 필터 및 태그는 단일 엔진 구현을 가정하고, 인증 및 관리 번들 애플리케이션은 내부 ORM을 사용해야 한다. 이러한 요소들이 필수적인 것은 아니지만, 재사용 가능한 앱들이 이에 의존하는 경향이 있어 개발자들이 공식 스택을 계속 사용하도록 유도하는 측면이 있다.
3.4. 기타 기능
4. 서버 구성 및 지원 데이터베이스
wikitext
장고는 아파치 HTTP 서버에 mod wsgi 또는 mod python 모듈을 설치하여 서비스할 수 있다. 또한 FastCGI 모드로 구동할 수 있기 때문에 FastCGI를 지원하는 서버와 연동하여 서비스할 수 있다. 장고는 아파치, Nginx와 WSGI, Gunicorn, 혹은 flup (파이썬 모듈)을 사용하는 체로키와 함께 실행될 수 있다. 또한 FastCGI 서버를 시작하는 기능을 포함하고 있으며, 이를 통해 Lighttpd나 Hiawatha와 같이 FastCGI를 지원하는 웹 서버 뒤에서 사용할 수 있다. 다른 WSGI 호환 웹 서버를 사용하는 것도 가능하다.
장고는 웹 애플리케이션 인터페이스로 WSGI와 ASGI를 지원하므로, 이에 대응하는 웹 애플리케이션 서버를 사용하여 (필요에 따라 Nginx나 Apache 등의 웹 서버와 조합하여) 작동시킬 수 있다. WSGI/ASGI 서버의 예로는 Gunicorn, uWSGI, Uvicorn (ASGI), mod_wsgi 및 mod_python (Apache) 등이 있다.
장고는 공식적으로 PostgreSQL, MySQL, MariaDB, SQLite, 그리고 오라클의 다섯 가지 데이터베이스 백엔드를 지원한다. 마이크로소프트 SQL 서버는 django-mssql과 함께 사용할 수 있으며, 이와 유사하게 IBM Db2, SQL Anywhere 그리고 Firebird에 대한 외부 백엔드도 존재한다. 포크인 django-nonrel은 NoSQL 데이터베이스, 예를 들어 MongoDB와 구글 앱 엔진의 Datastore를 지원한다.
또한 서드파티에서 Microsoft SQL Server용 어댑터 [https://django-mssql.readthedocs.io/en/latest/ Django MSSQL], IBM DB2용 어댑터 [https://code.google.com/p/ibm-db/ ibm_db] 외에 SAP SQL Anywhere, ODBC, Firebird에 대한 어댑터도 제공되고 있으며, NoSQL 계열 데이터베이스와 연결하기 위한 확장 등도 존재한다.
마이크로소프트 SQL 서버는 [http://code.google.com/p/django-mssql/ django-mssql]를 설치하여 사용할 수 있으나 마이크로소프트 운영 체제 내에서만 작동한다. 장고는 또한 자바 EE 애플리케이션 서버인 GlassFish나 JBoss와 함께 파이썬에서 실행될 수 있다. 이 경우, 데이터베이스 연결을 위한 JDBC 드라이버를 제공하기 위해 django-jython이 설치되어야 하며, 이는 배포에 적합한 .war로 장고를 컴파일하는 기능도 제공할 수 있다.
장고는 공식적으로 아래의 데이터베이스를 지원한다.
* PostgreSQL
* MySQL
* MariaDB
* SQLite
* Oracle
마이크로소프트 SQL 서버는 [https://django-mssql.readthedocs.io/en/latest/ Django MSSQL]를 설치하여 사용할 수 있다. 이 외에도 서드파티에서 IBM Db2용 어댑터, SQL Anywhere, Firebird에 대한 어댑터도 제공하고있다. NoSQL 계열 데이터베이스와 연결하기 위한 확장 등도 존재한다.
4.1. 서버 구성
장고는 아파치 HTTP 서버에 mod wsgi 또는 mod python 모듈을 설치하여 서비스할 수 있다. 또한 FastCGI 모드로 구동할 수 있기 때문에 FastCGI를 지원하는 서버와 연동하여 서비스할 수 있다. 장고는 아파치, Nginx와 WSGI, Gunicorn, 혹은 flup (파이썬 모듈)을 사용하는 체로키와 함께 실행될 수 있다. 또한 FastCGI 서버를 시작하는 기능을 포함하고 있으며, 이를 통해 Lighttpd나 Hiawatha와 같이 FastCGI를 지원하는 웹 서버 뒤에서 사용할 수 있다. 다른 WSGI 호환 웹 서버를 사용하는 것도 가능하다.
장고는 웹 애플리케이션 인터페이스로 WSGI와 ASGI를 지원하므로, 이에 대응하는 웹 애플리케이션 서버를 사용하여 (필요에 따라 Nginx나 Apache 등의 웹 서버와 조합하여) 작동시킬 수 있다. WSGI/ASGI 서버의 예로는 Gunicorn, uWSGI, Uvicorn (ASGI), mod_wsgi 및 mod_python (Apache) 등이 있다.
장고는 공식적으로 PostgreSQL, MySQL, MariaDB, SQLite, 그리고 오라클의 다섯 가지 데이터베이스 백엔드를 지원한다. 마이크로소프트 SQL 서버는 django-mssql과 함께 사용할 수 있으며, 이와 유사하게 IBM Db2, SQL Anywhere 그리고 Firebird에 대한 외부 백엔드도 존재한다. 포크인 django-nonrel은 NoSQL 데이터베이스, 예를 들어 MongoDB와 구글 앱 엔진의 Datastore를 지원한다.
또한 서드파티에서 Microsoft SQL Server용 어댑터 [https://django-mssql.readthedocs.io/en/latest/ Django MSSQL], IBM DB2용 어댑터 [https://code.google.com/p/ibm-db/ ibm_db] 외에 SAP SQL Anywhere, ODBC, Firebird에 대한 어댑터도 제공되고 있으며, NoSQL 계열 데이터베이스와 연결하기 위한 확장 등도 존재한다.
마이크로소프트 SQL 서버는 [http://code.google.com/p/django-mssql/ django-mssql]를 설치하여 사용할 수 있으나 마이크로소프트 운영 체제 내에서만 작동한다. 장고는 또한 자바 EE 애플리케이션 서버인 GlassFish나 JBoss와 함께 파이썬에서 실행될 수 있다. 이 경우, 데이터베이스 연결을 위한 JDBC 드라이버를 제공하기 위해 django-jython이 설치되어야 하며, 이는 배포에 적합한 .war로 장고를 컴파일하는 기능도 제공할 수 있다.
4.2. 지원 데이터베이스
장고는 공식적으로 아래의 데이터베이스를 지원한다.
* PostgreSQL
* MySQL
* MariaDB
* SQLite
* Oracle
마이크로소프트 SQL 서버는 [https://django-mssql.readthedocs.io/en/latest/ Django MSSQL]를 설치하여 사용할 수 있다. 이 외에도 서드파티에서 IBM Db2용 어댑터, SQL Anywhere, Firebird에 대한 어댑터도 제공하고있다. NoSQL 계열 데이터베이스와 연결하기 위한 확장 등도 존재한다.
5. 버전
장고 팀은 특정 릴리스를 "장기 지원"(LTS) 릴리스로 지정한다. LTS 릴리스는 일반적으로 3년 이상 보안 및 데이터 손실 수정 사항을 적용받는다.
6. DjangoCon
DjangoCon은 장고 개발자 및 사용자를 위한 연례 컨퍼런스로, 2008년 9월부터 개최되었다. DjangoCon은 매년 유럽에서 5월 또는 6월에 개최되며, 미국에서는 8월 또는 9월에 여러 도시에서 개최된다.
2012년에는 9월 3일부터 8일까지 워싱턴 D.C.에서 개최되었다. 2013년에는 시카고의 하얏트 리젠시 호텔에서 개최되었으며, 컨퍼런스 후 스프린트는 Digital Bootcamp에서 진행되었다. 2014년에는 포틀랜드에서 8월 30일부터 9월 6일까지 개최되었다. 2015년에는 오스틴의 AT&T 이그제큐티브 센터에서 9월 6일부터 11일까지 개최되었다. 2016년에는 펜실베이니아 대학교 와튼 스쿨에서 7월 17일부터 22일까지 필라델피아에서 개최되었다. 2017년에는 워싱턴주 스포캔, 2018년에는 캘리포니아주 샌디에이고에서 개최되었다. 2019년에는 9월 22일부터 27일까지 캘리포니아주 샌디에이고에서 다시 개최되었다. DjangoCon 2021은 가상으로 진행되었으며, 2022년에는 10월 16일부터 21일까지 샌디에이고로 돌아왔다. DjangoCon US 2023은 10월 16일부터 20일까지 더럼 컨벤션 센터에서 개최되었으며, DjangoCon US 2024는 9월 22일부터 27일까지 더럼으로 돌아올 예정이다.
Django 미니 컨퍼런스는 매년 호주 파이썬 컨퍼런스 'PyCon AU'의 일환으로 개최된다. 이 미니 컨퍼런스는 2013년 7월 호바트, 2014년과 2015년 8월 브리즈번, 2016년과 2017년 8월 멜버른, 2018년과 2019년 8월 시드니에서 개최되었다.
Django는 전 세계에 사용자 그룹과 밋업을 낳았으며, 가장 주목할 만한 그룹은 Django Girls 조직으로 폴란드에서 시작하여 현재 91개국에서 행사를 개최한다.
7. 다른 언어로의 포팅
프로그래머들은 장고의 템플릿 엔진 디자인을 파이썬에서 다른 언어로 포팅하여 크로스 플랫폼 지원을 제공한다. 이러한 옵션 중 일부는 더 직접적인 포팅이며, 다른 것들은 장고에서 영감을 받아 그 개념을 유지하면서 장고의 디자인에서 벗어나는 자유를 누린다.
* Liquid for 루비
* Template::Swig for 펄
* 트위그 for PHP 및 자바스크립트
* 진자 for 파이썬
* ErlyDTL for 얼랭
8. 장고 기반 CMS
장고는 프레임워크로서 완전한 CMS을 구축할 수 있지만, 장고 프레임워크를 기반으로 구축되고 확장된 전용 CMS 프로젝트가 있다. 다음은 몇 가지 인기 있는 장고 기반 CMS 목록이다.
* Django CMS
* 웨그테일
* 메자닌