Django란?
Django는 Python 웹 프레임워크로, 2003년 로렌스 저널 월드 신문을 만들던 웹 개발팀의 내부 프로젝트로 시작해 2005년에 오픈소스 프로젝트로 공개되었다.
Django는 웹사이트를 구축할 때 사용자 인증(회원가입, 로그인, 로그아웃 등)이나 관리자 패널, 폼, 파일 업로드와 같은 요소들을 제공해 개발자의 부담을 줄여준다.
cf. 짧은 비화들
- django 이름의 의미 : Django는 1930년대부터 1950대초까지 활동한 재즈 manouche 기타리스트 Django Reinhardt에서 따왔다고 한다.
- django 발음에 대한 녹음 파일 : https://www.red-bean.com/~adrian/django_pronunciation.mp3
[출처]
https://docs.djangoproject.com/ko/5.0/faq/general/
- Model-View-Template (MVT) 아키텍처
Django는 MVT 패턴을 가진다.
- 모델 (Model) : 애플리케이션의 데이터 구조를 나타내며 데이터의 저장, 조작, 검색 방법을 정의. 데이터베이스 엑세스 컴포넌트
- 뷰 (View) : 사용자 요청을 처리하고 응답 반환. 웹 요청을 입력으로 받아 처리하거나 데이터를 검색한 뒤 HTTP 응답을 반환
- 템플릿 (Template) : 클라이언트로 전송되는 HTML의 구조와 레이아웃을 정의. 텍스트 파일로서 간단하고 유연한 구문을 사용하여 HTML의 구조를 설명하고 뷰에서 동적 콘텐츠를 포함할 수 있도록 함. 데이터를 사용자에게 보여주는 컴포넌트
cf. Django의 MVT 패턴은 MVC 패턴으로 보여지는데 왜 Controller를 “View”라고 부르고, View를 “Template”이라고 하는지?
Django의 작업 흐름 예시
1. 사용자 Request: 사용자가 Django 애플리케이션에 요청
2. View (MVC Controller): Django의 View가 요청을 받음. Model에 데이터를 쿼리하거나 다른 비즈니스 논리를 수행하고 렌더링에 적합한 템플릿을 선택
3. Template (MVC View): 선택한 템플릿은 View에서 데이터를 수신하고 사용자에게 보낼 HTML을 생성.
4. Response: HTML이 응답으로 사용자에게 다시 전송.
Model-View-Template(MVT)이라는 용어는 Django 프레임워크 내의 특정 역할과 상호 작용을 반영하기 위해 사용 됨
- Model: 데이터 및 비즈니스 로직을 관리
- View: MVC의 Controller와 유사하게 요청 처리 및 비즈니스 로직을 관리
- Template: MVC의 View와 유사하게 프레젠테이션을 관리
[출처 및 참고]
https://nitro04.blogspot.com/2020/01/django-mvc-mvt.html#1down
- ORM(Object-Relational Mapping, 객체 관계 매핑)
Django는개발자가 SQL 쿼리를 직접 작성하는 대신 Python 객체와 메서드를 사용하여 데이터베이스와 작업할 수 있게 해준다. 그래서 SQL 문장을 사용하지 않고도 테이블을 조작할 수 있다. PostgreSQL, MySQL, SQLite, Oracle 등의 데이터베이스에 대해 ORM을 지원한다.
[출처 및 참고]
'Python' 카테고리의 다른 글
Python 문법 기초 (0) | 2024.07.12 |
---|