5SOO_O 의 개발 공부 일지
[Django] 장고의 구조 본문
Django는 파이썬 웹 프레임워크이다.
프레임워크란, 소프트웨어 개발에서의 뼈대 역할을 한다.
여러 기능을 가진 클래스와 라이브러리를 결과물로 구현하기 위해 합쳐진 형태로,
재사용 가능한 수 많은 클래스와 라이브러리를 융합한 채로 제공된다.
웹 프레임워크는 웹 서버를 구현하기 위해 만들어진 프레임워크이다.
웹 서버를 구현하기 위해서는 페이지 구현, DB관리, 유저 인증, API 서버, 라우팅, 사이트 맵, 세션 관리 등
여러 기능이 필요하다.
웹 프레임워크는 이러한 각 기능을 보유한 라이브러리를 묶어 프레임워크로 담은 것이다.
Django의 동작 원리는 다음과 같다.
1. 데이터 기반 웹 사이트에서 웹 어플리케이션, 웹 브라우저로부터 http요청을 기다린다.
2. 요청을 받으면
-> url과 post데이터 또는 get데이터의 정보에 기반해 요구사항을 알아낸다.
3. 무엇이 필요한지에 따라 데이터베이스로부터 정보를 읽거나 쓰고, 또는 필요한 다른 작업을 수행한다.
4. 웹 어플리케이션이 웹 브라우저에 응답을 반환한다.

장고는 MVT패턴으로 구성되어 있는데,
MVC (모델-뷰-컨트롤러) 아키텍처와 유사하다.
VIEW
요청에 따라 적절한 로직을 수행하며, 결과를 템플릿으로 렌더링한다.
MODEL
응용 프로그램의 데이터 구조를 정의한다
클래스로 정의되며, 하나의 클래스가 하나의 DB테이블이다.
데이터베이스의 기록 관리를 담당하며, 쿼리 방법을 제공한다.
장고는 ORM기능을 지원해 파이썬 코드로 DB조작이 가능하다.
TEMPLATE
html같은 파일의 구조나 레이아웃의 실제 내용을 보여주는 플레이스 홀더를 가진 텍스트 파일
즉, 유저에게 보여지는 화면을 구성한다.
(html파일을 사용할 때) 장고는 뷰에서 로직을 처리한 후, html파일을 context(템플릿에서 쓰이는 변수명과 파이썬 객체를 연결하는 사전형 값)와 함께 렌더링하는데, 이 때 렌더링한 html파일이 템플릿이다.
장고는 자체 템플릿 문법을 지원하며, 이 문법 덕분에 파일 내에서 context로 받은 데이터를 활용할 수 있다.

'Django' 카테고리의 다른 글
| 2022 06 20 (0) | 2022.06.20 |
|---|---|
| [all-auth] Django 카카오 로그인 구현하기 (0) | 2022.02.22 |
| 장고로 쇼핑몰을 만들어보면서 만난 에러 정리 (0) | 2022.02.14 |
| [ForeignKey] on_delete 종류 (0) | 2022.01.15 |
| [Django] Generic View (0) | 2022.01.06 |