일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- TypeScript
- Wecode
- scss
- ES6
- express
- Vue.js
- CSS
- react
- 자료구조
- 자바스크립트
- jsx
- State
- input
- storybook
- mapGetters
- Vue transition
- 쉬운설명
- 댓글달기
- nodejs
- App.vue
- event
- HOC
- sass
- JavaScript
- vuex
- v-html
- webpack
- Vue
- 리액트
- MySQL
- Today
- Total
익명의 개발노트
[Django] 장고 프레임워크란? 본문
웹 프레임워크(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 |