[Django] Web과 Django

작성:    

업데이트:

카테고리:

태그: ,

Web

  • World Wide Web
  • 인터넷에 연결된 컴퓨터를 통해 정보를 공유할 수 있는 전세계적 정보 공간


Static Web Page

  • 정적 웹 페이지
  • 서버에 미리 저장된 파일이 사용자에게 그대로 전달
  • 서버는 추가적인 처리 과정 없이 클라이언트에게 응답을 전송
  • 모든 상황에서 모든 사용자에게 동일한 정보 표시
  • 일반적으로 HTML, CSS, JS로 작성
  • flat page라고도 한다.


Dynamic Web Page

  • 동적 웹 페이지
  • 서버는 추가적인 처리 과정 이후 클라이언트에게 응답 전송
  • 방문자와 상호작용하기 때문에 내용은 그때그때 다르다.
  • 서버사이드 프로그래밍 언어(python, java, c++ 등) 사용
  • 파일을 처리하고 DB와 상호작용


Framework

  • 응용 프로그램 표준 구조를 구현하는 class, lib 모임
  • 재사용할 수 있는 수많은 코드 통합
  • 개발자가 개발에만 집중할 수 있도록


Web Framework

웹 페이지 개발 중에 겪는 어려움을 줄이자!

  • DB 연동, 템플릿 형태의 표준, 세션 관리, 코드 재사용 등의 기능
  • 동적인 웹 페이지, 웹 App, 웹 서비스 개발 보조용으로 만들어진다.
  • Application Framework의 일종


Django를 사용하는 이유

  • 검증된 Python 언어 기반 Web framework
  • 대규모 서비스에도 안정적
  • 다양한 대기업들이 오랫동안 사용


Framework Architecture

MVC Design Pattern

  • Model - View - Controller
  • UI로부터 프로그램 로직 분리
  • 디자인적인 부분에 영향 없이 쉽게 고칠 수 있는 애플리케이션 제작 가능
  • Django는 MTV Pattern이라고 한다.


MTV Pattern

  • Model - Template - View
  • MVC와 같은 구조이지만 부르는 명칭이 다르다.


Model

  • 응용프로그램의 데이터 구조 정의
  • DB 기록 관리(CRUD)


Template

  • 파일의 구조나 레이아웃 정의
  • 실제 내용을 보여주는 데 사용(presentation)


View

  • HTTP 요청 수신, HTTP 응답 반환
  • Model과의 소통 : Model을 통해 요청을 충족시키는데 필요한 데이터에 접근
  • template에게 응답의 서식 설정 맡김 ⭐ 하는 일이 많고 가장 중요!


MTV 패턴의 flow

  1. HTTP Request
  2. URLS(urls.py) : View로 Request를 보내준다.
  3. View(views.py)
    • models.py : read/write data
    • filename.html : template
    • HTTP Response : HTML

댓글남기기