웹애플리케이션을 만드는데 도움을 주는 도구인 파이썬 장고 웹 프래임워크 수업입니다.
구름EDU 수강자 분들을 위해 생활코딩이 함께 합니다. 항상 좋은 지식을 전해주시는 생활코딩에 감사드립니다.
📝수업 소개
📥장고(Django)란?
Django는 2003년 로렌스 저널 월드 신문을 만들던 웹 개발 팀의 내부 프로젝트로 시작되었으며 2005년 오픈소스 프로젝트로 공개되었습니다.
그리고 구글의 웹 애플리케이션 엔진에 장고가 사용되면서 많은 사람이 사용하게 되었고 현재는 파이썬을 대표하는 웹 프레임워크로 자리매김하고 있습니다.
🎯장고의 특징
📌MVC 패턴 기반 MVT
장고는 MVC
(Model-View-Controller) 패턴을 기반으로 한 프레임워크입니다. 하지만 장고에서는 View를 Template, Controller를 View라고 부릅니다.
장고에서 Model은 데이터베이스에 엑세스하는 컴포넌트이고, View는 데이터를 가져오고 변형하는 컴포넌트이며, Template은 데이터를 사용자에게 보여 주는 컴포넌트입니다.
그래서 장고를 MVT
(Model-View-Template) 프레임워크라고 부르기도 합니다. 하지만 용어만 다를 뿐 그 개념은 MVC 패턴과 동일합니다.
📌객체 관계 매핑
장고의 객체 관계 매핑 ORM
(Object-Relational Mapping)은 데이터베이스 시스템과 모델이라는 파이썬 클래스를 연결하는 다리와 같은 역할을 합니다.
이런 ORM 기능을 통해 다양한 데이터베이스 시스템을 지원하며 SQL 문장을 사용하지 않고도 테이블을 조작할 수 있습니다.
설정을 조금만 변경하면 이미 구축한 데이터베이스 시스템을 다른 데이터베이스로 쉽고 편리하게 변경할 수 있습니다.
📌자동으로 구성되는 관리자 화면
장고는 웹 서버의 콘텐츠, 즉 데이터베이스 관리 기능을 위한 관리자 화면을 프로젝트를 시작하는 시점에 기본 기능으로 제공합니다. 이러한 관리자 화면을 통해서 애플리케이션에서 사용하는 테이블과 데이터를 쉽게 생성하거나 변경할 수 있습니다. 따라서 개발자가 별도로 관리 기능을 개발할 필요가 없습니다.
📌우아한 URL 설계
웹 프로그래밍에서 URL 설계는 필수인데 장고에서는 유연하면서도 강력한 URL 설계 기능을 제공합니다. 장고에서는 우아한(Elegant) URL 방식을 채택하여 URL을 직관적이고 쉽게 표현할 수 있습니다. 또한 정규표현식을 사용하여 복잡한 URL도 표현할 수 있으며 각 URL 형태를 파이썬 함수에 1:1로 연결하도록 설계되어 있어 이해하기 쉬운 코드 작성과 편리한 개발이 가능합니다.
📌자체 템플릿 시스템
장고는 내부적으로 확장이 가능하고 디자인하기 쉬운 강력한 템플릿 시스템을 가지고 있습니다. 이를 통해 화면 디자인과 로직에 관한 코딩을 분리하여 독립적으로 프로그래밍이 가능합니다. 장고의 템플릿 시스템은 HTML과 같은 텍스트형 언어를 쉽게 다룰 수 있도록 개발되었습니다.
📌캐시 시스템
동적 페이지를 만들기 위해서 데이터베이스 쿼리를 수행하고 템플릿을 해석하고 관련 로직을 실행해서 페이지를 생성하는 일은 서버에 엄청난 부하를 주는 작업입니다. 그래서 캐시 시스템을 사용하여 자주 이용되는 내용을 저장하였다가 재사용하면 성능을 높일 수 있습니다. 장고의 캐시 시스템은 캐시용 페이지를 메모리, 데이터베이스 내부, 파일 시스템 중 아무 곳에나 저장할 수 있습니다. 또한 캐시 단위를 페이지에서부터 사이트 전체 또는 특정 뷰의 결과, 템플릿의 일부 영역만을 지정하여 저장할 수도 있습니다.
📌다국어 지원
장고는 동일한 소스 코드를 다른 나라에서도 사용할 수 있도록 텍스트 번역, 날짜/시간/숫자 포맷, 타임존 지정 등과 같은 다국어 환경을 제공합니다. 간단한 작업만으로 메시지를 하나 이상의 언어로 번역할 수 있으므로 다국어를 제공하는 웹 사이트에 아주 유용하게 사용할 수 있습니다.
📌풍부한 개발 환경
장고는 프로그래밍에 도움이 되는 여러 가지 기능을 제공합니다. 특히 테스트용 웹 서버를 포함하고 있어서 개발 과정에서 Apache 등의 웹 서버가 없어도 테스트를 진행할 수 있습니다. 또한 디버깅 모드를 사용할 경우에는 에러를 쉽게 파악하고 해결할 수 있도록 아주 상세한 메시지를 보여줍니다.
📌소스 변경 사항 자동 반영
개발 과정에서 장고는 *.py 파일의 변경 여부를 감시하고 있다가 파일이 변경되면 실행 파일에 변경 내역을 바로 반영합니다. 그래서 장고 테스트용 웹 서버를 실행 중인 상태에서 소스 파일을 수정하더라도 웹 서버를 다시 시작할 필요 없이 자동으로 새로운 파일이 반영됩니다.
출처: 장고(Django)의 특징과 장고 프로그램 설치 - 한빛미디어
생활코딩 운영자 이고잉입니다✔