[Django] Django에 대하여

완수·2021년 10월 18일
0

[Django]

목록 보기
1/8
post-thumbnail

Django란?

: 파이썬으로 만들어진 무료 오픈소스 웹 애플리케이션 프레임워크(web application framework)

  • 검증된 Python 언어 기반의 Web Framework
  • Spotify, Instagram 등의 기업들이 사용 중

Framework

: 프로그래밍에서 특정운영체제를 위한 응용프로그램 표준 구조를 구현하는 클래스와 라이브러리 모임

  • 웹 프로그램을 만들기 위한 "스타터 키트" 같은 개념
  • 코드를 다시 작성하지 않아도 같이 사용할 수 있도록 도움
  • 이미 잘 만들어진 프레임워크에서 가져올 수 있기 때문에 시간이 절약됨

Framework Architecture

: 사용자 인터페이스로부터 프로그램 로직을 분리하여 애플리케이션의 시각적 요소나 이면에서 실행되는 부분을 서로 영향 없이 쉽게 고칠 수 있는 애플리케이션을 만들 수 있음

  • 소프트웨어 공학에서 사용되는 디자인 패턴 중 하나
  • MVC(Model, View, Controller) 혹은 MTV(Model, Template, View) Pattern

MTV Pattern

웹 프로그래밍 영역을 3가지 개념으로 나누어 개발하는 방식 (Django에서 사용)

Model - DB 정의

: 응용프로그램의 데이터 구조를 정의하고 데이터베이스의 기록을 관리(추가, 수정, 삭제)

  • 사용자들이 작성한 데이터를 저장, 보관하다 요청시 꺼내주는 곳
  • Django는 ORM 기법을 사용해 앱에서 사용할 DB를 class로 매핑
    - ORM: 객체와 관계형 DB를 연결해주는 역할
  • 모델 클래스 === 테이블
  • 모델 클래스의 속성 === 테이블의 컬럼

Template - 화면 UI 정의

: 파일의 구조나 레이아웃을 정의

  • 실제 내용을 보여주는 데 사용(presentation)

View - 로직 정의

: HTTP 요청을 수신하고 HTTP 응답을 반환

  • Model을 통해 요청을 충족시키는데 필요한 데이터에 접근
  • template에게 응답의 서식 설정을 맡김
    → Model과 Template를 연결하는 역할

출처: https://developer.mozilla.org/en-US/docs/Learn/Server-side/Django/Introduction#what_does_django_code_look_like

장고 개발 흐름 정리하기


1. 브라우저에서 로컬 서버로 http://localhost:8000/pybo 페이지를 요청
2. urls.py에서 /pybo URL 매핑을 확인하여 views.py 파일의 index 함수 호출
3. 호출한 결과를 브라우저에 반영

출처: https://wikidocs.net/70649

Do Not Reinvent The Wheel!

profile
병아리 개발자의 공부 노트 🐣

0개의 댓글