Django 개요

김병욱·2020년 4월 24일
0

Django

목록 보기
2/15

Django?

파이썬으로 만들어진 무료 오픈소스 웹 애플리케이션 프레임워크다. 쉽고 빠르게 웹사이트 개발을 할 수 있도록 돕는 구성요소로 이루어진 웹 프레임워크다. 쉽게 말해, 웹사이트에 기초적인 요소, 예를 들어 관리자패널, 로그인, 폼, 파일 업로드와 같은 것을 미리 갖추어놓은 것이다.
Django는 2005년부터 시작된 Python의 오픈 소스 웹 프레임워크이다. Django는 풀 스택 프레임워크이다. Django의 발음 기호는 쟁고우 정도로 읽으면 된다. 참고로 D는 묵음이다. 대한민국에서는 장고로 읽는데, 동명의 서부극 영화 때문에 종종 한글 표기를 '쟝고'로 쓰기도 한다.
Django 소프트웨어 재단은 소셜 댓글 서비스 디스커스(Disqus)를 만든 곳이기도 하다. Python 을 이용해 제작한다. Django는 Python 기반 웹 프레임워크 중에 가장 널리 퍼져있다. 일반적으로 파이썬을 웹 서비스에 쓴다고 하면 Django 또는 Flask를 쓴다고 생각하면 된다. 둘의 차이는 풀 스택 프레임워크(Django)냐 아니냐 정도.

웹 프레임워크가 왜 필요한가?

장고를 이해하기 위해서는 서버에 대해 알아볼 필요가 매우 있다. 웹 서버는 클라이언트에게 받은 요청을 해당 요청에 알맞게 응답해주어야 하는데, 그안에는 내용이 있어야한다. 웹프레임워크는 그러한 특정 컨텐츠를 만들 수 있는 역할을 한다. 언어마다 여러 웹 프레임워크가 존재한다

장고의 역사

장고는 2003~2004년에 로렌스 저널-월드(Lawrence Journal-World)라는 신문사의 인턴 웹 프로그래머였던 에이드리안 홀로바티(Adrian Holovaty)와 사이먼 윌리슨(Simon Willison)이 파이썬을 이용해 애플리케이션을 만들기 시작하면서 처음 개발되었다.

당시 로렌스 신문사의 웹사이트는 PHP 기반으로 쓰여졌었는데, 홀로바티와 윌리슨은 당시 PHP가 규모가 큰 웹사이트에 적합하지 않다고 생각했고 평소에 관심을 가지고 있던 파이썬으로 웹 개발을 하기로 결심했다. 하지만 규모가 큰 웹 개발에 적합한 파이썬 도구가 없다는 것을 깨닫고 새롭게 장고를 개발하게 된 것이다.

개발을 처음 할 때 사실 장고를 웹 프레임워크라고 생각한 적은 없었고, 그냥 CMS를 개발하는 것이라고 생각했다고 한다. 개발자가 개발 당시의 기억들을 풀어놓은 글을 읽고 싶다면 여기(영어)에 사이먼 윌리슨 본인이 직접 쓴 글이 있다. (공동 개발자인 에이드리안도 따봉을 눌렀다!) 장고라는 이름은 홀로바티가 좋아하던 기타리스트 장고 라인하르트에서 따온 것이라고 한다.

또한 장고는 사실 오직 로렌스 웹사이트를 구동하기 위해 개발된 것이었지만, 홀로바티와 윌리슨이 로렌스의 오너 기업인 더 월드 컴퍼니(The World Company)를 설득하여 오픈 소스로 2005년 7월에 BSD 라이선스로 공개하게 되었다. 윌리슨은 더 월드 컴퍼니도 다른 오픈 소스 프로젝트를 많이 사용했기 때문에 쉽게 설득할 수 있었다고 얘기했다.

장고의 구조 (MVT)

장고를 개발하는데 있어서 가장 중요한 부분은 철저한 분업화입니다.

MTV라 불리우는 패턴이 바로 그것으로 Model(DB에서 자료를 꺼내오는 부분), Template(사용자에게 실제로 보여지는 페이지), View(꺼내온 자료를 사용자가 볼 수 있는 페이지로 전달하는 부분) 로 나뉜다.

사용자에게 노출되는 페이지 부분과 데이터 부분을 분리함으로서 유지보수와 개발 용이성을 높이는 방식으로 이름높으며 현재 2000년대 초반 이후로 웹개발의 정석으로 자리잡은 방식이다.

profile
개발스터디

0개의 댓글