MVC
MVC (Model-View-Controller)는 디자인 패턴 중의 하나로 프로젝트의 구성 요소를 Model (모델), View (뷰), Controller (컨트롤러) 역할로 구분한 개발 방법론이다.
MVT
Model-View-Template 패턴이라고 한다. 장고의 MVT 방식은 자바 웹 프로그래밍의 MVC 방식과 거의 동일한 개념으로 웹 프로그래밍 영역을 3가지 개념으로 나눠서 개발하는 방식이다. 테이블을 정의하는 모델 (Model), 어플리케이션의 제어 흐름 및 처리 로직을 정의하는 뷰 (View), 사용자가 보게 될 화면의 모습을 정의하는 템플릿 (Template)으로 구분해서 개발을 진행한다.
MVT 패턴의 처리 과정
|
모델, 뷰, 템플릿 셋 중에서 무엇을 먼저 코딩해야 하는지에 대해 정해진 순서는 없다. MVT 방식에 따르면 화면 설계는 뷰와 템플릿 코딩으로 연결되고, 테이블 설계는 모델 코딩에 반영된다. UI 화면을 먼저 생각하고 로직을 풀어나가는 것이 쉽기 때문에 보통은 템플릿을 먼저 코딩한다. 다만, 클래스형 뷰처럼 뷰의 코딩이 매우 간단한 경우에는 뷰를 먼저 코딩하고 템플릿을 코딩한다.
투표 어플리케이션 만들기
실습을 위해 가상 환경에 Django 패키지를 설치한다.
# 장고를 가상 환경에 설치
pip install Django
장고 설정
그 다음, 터미널에서 myproject 프로젝트를 만들고 polls 어플리케이션을 생성한다.
# myproject 프로젝트 딕셔너리 생성
$django-admin startproject myproject
# myproject 딕셔너리로 이동
$cd myproject
# myproject 폴더에 polls 어플리케이션 딕셔너리 생성
$python manage.py startapp polls
…/myproject/settings.py에서 호스트 허용과 언어 설정이 가능하다.
ALLOWED_HOSTS = [
'localhost', '127.0.0.1'
]
LANGUAGE_CODE = 'en-us' # "ko-kr"
그 다음으로, polls 어플리케이션을 적용하기 위해 다음과 같이 설정한다.
INSTALLED_APPS = [
"polls.apps.PollsConfig",
"django.contrib.admin",
"django.contrib.auth",
"django.contrib.contenttypes",
"django.contrib.sessions",
"django.contrib.messages",
"django.contrib.staticfiles",
]
polls 어플리케이션을 생성했으면 이를 반영하기 위해 migrate가 필요하다. 터미널을 manage.py가 위치한 곳으로 이동하여 다음을 실행한다.
python manage.py migrate
'App Programming > Django' 카테고리의 다른 글
[Django] URL (0) | 2023.06.20 |
---|---|
[Django] 모델 (Model) (0) | 2023.06.20 |
[Django] 서버 배포 (0) | 2023.04.10 |
[Django] Reverse for '' not found. '' is not a valid view function or pattern name. (0) | 2023.04.09 |
[Django] User Logout (0) | 2023.03.09 |