익명의 개발노트

[Django] 장고 프레임워크란? 본문

프로그래밍/Python

[Django] 장고 프레임워크란?

캡틴.JS 2019. 6. 16. 17:12
반응형

웹 프레임워크(Web framework) 또는 웹 애플리케이션 프레임워크(Web application framework)는 웹 서비스 개발을 위한 프레임워크이다. Java Spring, Python Django, PHP의 Laravel, Ruby Ruby on Rails 등이 특히 유명하다. 웹 프레임워크를 사용하면 쉽고 빠르게 웹사이트를 만들 수 있다.

웹 프론트엔드용 SPA 프레임워크에는 AngularJS나 Angular(Angular 2), Vue.js 등이 있다. AngularJS와 Vue.js는 JavaScript, Angular는 TypeScript 기반이다.

Spring이나 Django, Ruby on Rails의 경우 풀 스택(Full-stack) 웹 프레임워크이다. 풀 스택은 "모든 분야에 다 능숙한"이라는 의미로, 풀 스택 웹 프레임워크면 웹 개발에 필요한 요소를 모두 갖춘 웹 프레임워크이다. 풀 스택 웹 개발자는 프론트엔드 백엔드 개발이 모두 가능한 개발자를 말한다.

마이크로(Micro) 프레임워크는 풀 스택 프레임워크가 아닌 것을 말한다. Python의 Flask나 Ruby의 Sinatra 등이 여기에 해당된다.

 

Django 특징

1. 주요기능  MVC패턴 기반의 MVT 

     => view (데이터 가져오고 변형)- model (데이터 저장) - template(데이터 사용자에게 보여줌) 방식.

2. ORM 

   => 데이터 베이스와 모델을 연결하는 다리역할. 설정이 매우 쉽고 편리함. sql 날리는 방식에서 객체(클래스)로 처리하는 방식

3. 자동으로 구성되는 관리자 화면

    => 데이터베이스에 대한 관리 기능을 위해 플젝 시작시점에 기본으로 관리자 화면 (admin) 제공함.

4. 아름다운 URL설계

   => URL이 직관적이고 쉽게 표현함. 정규표현식도 가능 할 수 있음.

5. 자체 템플릿 시스템

   => 내부적으로 확장 가능하고 디자인이 쉬운 강력한 템플릿 시스템을 갖고 있음. 화면 디자인과 로직 분리해서 개발 진행 가능.

6. 캐시 

   => 캐시 시스템을 이용하여 자주 이용되는 내용 저장했다가 재사용.

7. 다국어 지원

8. 풍부한 개발환경

9. 소스변경사항 자동 반영

 

클라이언트 요청 => URL Dispatcher에서  url 보낼 곳 확인 =>  view 요청사항에 맞는 데이터 model로 요청 => model은 view의 요청을 받고 데이터베이스에서 요청자료 가져오고 view로 보냄. => view는 받아서 템플릿으로 보내고 => 템플릿은 받은 정보를 사용자가 원하는 포맷에 맞게 보여준다.

주요 명령어 

startapp 앱생성
runserver 서버실행
createsuperuser 관리자생성
makemigrations app app의 모델변경사항 체크
migrate 변경사항 DB 반영
shell 쉘을 통해 데이터를 확인
collectstatic static파일을 한 곳에 모음.

  

반응형

'프로그래밍 > Python' 카테고리의 다른 글

[list] 관련 함수  (0) 2019.06.13
[dictonary] 관련 함수  (0) 2019.06.13
[modules, path]  (0) 2019.06.13
[decorator] 데코레이터 개념  (0) 2019.06.13
[Function paramters]  (0) 2019.06.12
Comments