웹 애플리케이션 구조
웹 애플리케이션 구조는 위와 같이 Front-End, Back-End로 나눌 수 있다. 프론트엔드(Front-End)는 사용자가 웹 사이트나 웹 애플리케이션과 상호작용하는 부분으로, 사용자가 브라우저에서 볼 수 있는 디자인, 레이아웃, 그래픽 등과 사용자 인터페이스(UI)를 개발하는 영역이다. 백엔드(Back-End)는 웹 사이트나 웹 애플리케이션의 서버 측 부분으로, 프론트엔드와 상호작용하며, 데이터베이스와 통신하여 필요한 데이터를 가져와 처리한다. Full-Stack은 애플리케이션의 프론트엔드와 백엔드를 모두 개발하는 것을 말한다.
Django란?
Django는 파이썬을 사용하는 Full-Stack 프레임워크이다. 장고의 특징은 다음과 같다.
- 간결하고 쉬운 파이썬 언어를 사용하기 때문에 배우기가 쉽다.
- 많은 라이브러리와 프레임워크 제공으로 쉽고 빠르게 개발할 수 있다.
- 확장성이 뛰어나 복잡한 요구사항과 통합이 필요한 개발에 적합하다.
- 불필요한 중복을 없애고 많은 양의 코드를 줄여 유지보수가 쉽고 재사용 하기 좋은 디자인 원칙과 패턴들을 사용한다.
- 리눅스, 윈도우, 맥 OS 등 다양한 운영체제에서 작동할 수 있다.
- 비밀번호, 세션, 크로스사이트 요청 위조 등의 보안 취약점을 보완할 방법을 기본적으로 제공한다.
Django의 MVT 패턴
Django는 MVT 디자인 패턴을 사용한다. 여기서 디자인 패턴은 효율적으로 코드를 작성하기 위한 코딩 규칙 혹은 프로젝트 구조 정도로 생각하면 된다.
- Model(모델)
- DB에 저장되는 데이터
- 클레스로 정의되며 하나의 클래스가 하나의 DB Table
- 원래 DB를 조작하기 위해선 SQL을 다룰 줄 알아야 하지만 장고는 ORM(Object Relational Mapping) 기능을 지원하기 때문에 파이썬 코드로 DB를 조작할 수 있다.
- View(뷰)
- 요청에 따라 적절한 로직을 수행하여 결과를 템플릿으로 렌더링하며 응답
- Template(템플릿)
- 유저에게 보여지는 화면
- html 파일
장고의 요소
- View : HTTP의 요청을 처리
- Model : 데이터베이스 처리
- Template : 사용자의 인터페이스 처리
- Form : 사용자의 입력 데이터 처리
- Static 파일 : 정적 파일 관리
- Media 파일 : 사용자가 업로드한 파일 관리
- Message framework : 일회성 메시지 처리
- Send Email : 이메일 작성 및 전송
- Admin앱 : 관리자를 위한 쉬운 DB 데이터 관리 UI 제공
- Auth앱 : 사용자 인증에 관련된 서비스 제공
- Session앱 : 사용자별로 사용되는 데이터 서비스 제공
개발 환경 구축
1. 파이썬 설치
https://www.python.org/downloads/
2. 장고 설치
# 커맨드 창
pip install Django==4.2
# 커맨드 창
# 장고 버전 확인
django-admin --version
3. VSCode 설치
https://code.visualstudio.com/
4. VSCode 내에서 설치
- python
- Django
- Django Template
참고
[장고 공식 사이트] https://www.djangoproject.com/
[장고 API 참조 문서] https://docs.djangoproject.com/en/4.2/ref/
[장고 소스 코드] https://github.com/django/django
'web > Django' 카테고리의 다른 글
[Django] 장고 모델 관계 이름 (0) | 2024.05.22 |
---|---|
[Django] 장고 모델 관계 설정 (0) | 2024.05.22 |
[Django] 장고 Model: 모델 생성 - admin 앱에서 데이터 조작(2) (0) | 2024.05.22 |
[Django] 장고 Model: 모델 생성 - 장고쉘에서 데이터 조작(1) (0) | 2024.05.22 |
[Django] 장고 프로젝트(Django Project) (0) | 2024.05.21 |