티스토리 뷰
Django
- 파이썬 기반의 무료 오픈소스 웹 프레임워크
- 웹 어플리케이션을 만들기 위한 기본적인 기능들을 제공
프레임워크
- 소프트웨어 개발에 집중할 수 있도록 소프트웨어 개발에 필요한 기본적인 기능들을 제공해주는 것
- 기본적인 구조를 처음부터 개발할 필요가 없으므로 원하는 부분만 빠르게 개발 가능
MTV 패턴
- 웹 어플리케이션 개발 시 Model(모델) - Template(템플릿) - View(뷰) 의 세 부분으로 나누어 서로의 영역에 영향을 주지 않도록 설계하는 방식
- 예를 들어, 특정 페이지의 UI를 개발할 때 해당 페이지에서 돌아가는 로직을 알지 못해도 지장이 없음
1) Model(모델): 데이터베이스의 데이터에 해당하는 부분
2) Template(템플릿): HTML 파일로 사용자에게 보여지는 부분 / View에서 전달받은 데이터를 적용
3) View(뷰): 프로그램 로직이 작동하는 부분 / 데이터를 로직에 따라 가공하여 템플릿에 전달
작동방식
1. 서버로 HTTP request가 들어온다.
2. urls.py에서 request를 해석하고 각 url에 매칭되는 views.py의 view로 라우팅을 수행한다.
▶ urls.py: url 패턴들과 각 패턴들에 매칭되는 view들을 정의한 곳
- HTTP request의 URL을 해석하여 urls.py에 정의된 url 패턴 중 일치하는 패턴을 찾아 이를 mapping
▶ views.py: 다양한 view들을 정의한 곳
- HTTP request를 받고 HTTP response를 반환
- DB에 접근하고, 템플릿을 rendering
3. 각 view에서 models.py에 저장된 데이터를 불러와 필요한 작업을 한다.
▶ models.py: 데이터의 구조를 정의한 곳
- class로 정의하며 class 하나가 DB 테이블 하나에 해당
- class마다 필요한 column들 정의
4. 불러온 데이터와 각 view에 매칭되는 템플릿(HTML 페이지)을 함께 사용자에게 반환한다.
- 이 때, 템플릿은 view에서 불러온 데이터를 페이지에 적용
참고 문헌
'Django' 카테고리의 다른 글
[Django App 1-3] 북마크 애플리케이션 개발(2) (0) | 2020.01.01 |
---|---|
[Django App 1-2] 북마크 애플리케이션 개발(1) (0) | 2020.01.01 |
[Django App 1-1] 북마크 애플리케이션 설계 (0) | 2019.12.29 |
[Django Basic 03] Django 프로젝트 생성(2) (0) | 2019.12.18 |
[Django Basic 02] Django 프로젝트 생성(1) (0) | 2019.12.17 |
- Total
- Today
- Yesterday
- Django 로그아웃
- query parameter
- 북마크 어플리케이션
- Django 북마크
- Django 검색
- Django application
- Redis Cache
- Django 인스타그램
- Django 어플리케이션
- 서점 어플리케이션
- Django 댓글
- Redis
- Django 비밀번호 수정
- Django 컬렉션
- Django 업로드
- Django 팔로우
- Django User
- Django 회원 정보 수정
- Django
- Django 프로젝트 생성
- Django Instagram
- Django 로그인
- python
- Django 해시태그
- MySQL
- Django 회원가입
- Django 좋아요
- java
- 파이썬
- 장고
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |