Web/Django

Django(장고) 이론 1 : Django의 특징

James Kim_SST 2019. 6. 12. 17:54

Django 특징정리

 

  • MVC기반의 MVT

Django MVC( Model - View - Controller ) 기반으로 프레임워크. 

But, 장고에서는 View Template, Controller View라고 부름.

 

Model : DB Access하는 Component

View : Data 가져오고 변형하는 Component

Template : Data User에게 보여주는 Component

 

그래서 장고를 MVT( Model - View - Template ) FrameWork라고 .

이름만 다르게 , MVC 개념은 동일하다.

 

 

  • ORM, Object-Relational Mapping ( 객체 관계 매핑)

DB System Data Model Class 연결시키는 다리 역할.

ORM 기능을 통해 다양한 DB System 지원

SQL 사용하지 않고 테이블 조작 가능.

이미 구축한 DB다른 DB 변경하는 경우, 설정을 조금만 변경하면 가능

 

 

  • 자동 구성되는 관리자 화면

웹서버의 Contents, DB 관리를 위해 프로젝트 시작시점에 관리자 화면을 기본제공

 관리자 화면을 통해 Application에서 사용하는 데이터를 쉽게 생성, 변경 가능함.

개발자가 관리기능 개발할 필요가 없음

 

 

  • Elegant URL(우아한 URL)

URL 직관적이고 쉽게 표현할 있음.

정규표현식을 이용해 복잡한 URL 표현가능

URL 형태를 파이썬 함수에 1:! 연결하게 되어있어 개발이 편리하고 이해하기 쉬움

 

 

  • 자체 템플릿

화면 디자인과 로직에 대한 코드를 분리해 독립적으로 개발 가능.

장고의 템플릿은 HTML 같은 텍스트형 언어를 쉽게 다룰 있도록 개발되어있음.

 

 

  • Cache

캐시를 사용해 동적페이지 등을 수행할때 자주 이용되는 내용을 저장해 두었다가 재사용하여 성능을 높일 있음

 

장고의 Chche 시스템은 Cache 메모리, DB 내부, 파일 시스템 아무곳에나 저장가능.

캐시 단위를 페이지에서부터 사이트 전체 또는 특정 뷰의 결과, 템플릿 일부 영역만을 지정해 저장할 있음

 

 

  • 다국어 지원

동일한 소스코드를 다른 나라에서도 사용할 있도록 텍스트 번역, 날짜/시간/숫자 포맷, 타임존 지정등 다국어 환경 제공

간단한 작업만으로 메시지를 하나 이상의 언어로 번역해줌.

 

 

  • 풍부한 개발환경

테스트용 웹서버를 포함하고 있음 (아파치 웹서버가 없어도 테스트 가능)

디버깅 모드 사용시 에러를 쉽게 파악하고 해결할수 있도록 아주 상세한 메시지를 보여줌

 

 

  • 소스 변경사항 자동 반영

*.py 변경여부를 감시하고 있다가 변경되면 실행파일에 변경 내력을 바로 반영해줌.

서버 실행중에도 소스파일 수정시 새로운 소스파일이 반영됨!