티스토리 뷰
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의 첫번째 문서에서는 "Django가 뭐지?"라는 질문에 답해보고, Django 웹 프레임워크의 특별한 부분에 대해 전반적으로 살펴봅니다. 우리가 이 수업에서 자세히 다루지는 않을 고급 기능들까지 포함하여 간단하게 전반적인 부분을 살펴 볼겁니다. 또한, Django 애플리케이션을 구성하는 중요한 요소도 살펴보겠습니다. (물론 지금 시점에서는 테스트를 할 개발환경을 가지고 있지 않겠지만요.)
developer.mozilla.org
예제로 배우는 파이썬 프로그래밍 - Django 소개
Django 소개 Django(장고)는 파이썬의 대표적인 Web Application Framework으로서 그 Framework 자체가 파이썬으로 개발되어 있다. Django는 오픈소스 프로젝트로서 공식 사이트인 http://www.djangoproject.com 에서 각종 최신 정보를 제공하고 있다. 특히 이 사이트의 Documentation 섹션은 Django 개발과 관련된 자세한 기술정보를 제공하고 있으므로 참고하면 좋다. Django(장고)는 현
pythonstudy.xyz
'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 좋아요
- MySQL
- Django 회원가입
- Django
- Django User
- Django 로그인
- Redis Cache
- Django 북마크
- Redis
- Django Instagram
- 파이썬
- 북마크 어플리케이션
- Django 로그아웃
- Django 컬렉션
- 장고
- Django 비밀번호 수정
- python
- Django 해시태그
- Django application
- Django 인스타그램
- query parameter
- Django 댓글
- Django 어플리케이션
- Django 팔로우
- Django 업로드
- Django 프로젝트 생성
- Django 회원 정보 수정
- 서점 어플리케이션
- java
- Django 검색
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |