오늘은 Django 프로젝트 구조 및 구성요소에 대해 포스팅 하려고 합니다.
먼저 지난 시간에 Python 및 Django를 설치한 내용을 토대로 이어서 진행하기 때문에
Django에 대해 모르시는 분들은 아래 링크를 먼저 확인하고 보셔야 이해하실 수 있습니다.
[Develope/Django] - [Django] 장고 개발환경 및 프로젝트 실행하기
지난시간에 설치 및 생성했던 Django프로젝트는 다음과 같습니다.
python 가상환경 폴더가 나타나고
생성한 Django 프로젝트 및 app프로젝트 또한 확인할 수 있습니다.
아래 그림을 통해 보여지는 화면은 Atom을 사용하였습니다.
보시는 분들은 Atom을 사용하셔도 되고, 다른 Script 관련된 edit tool을 사용하셔도 됩니다.
Django프로젝트 life cycle에 대한 구조는 크게 Django프로젝트와 app프로젝트만 보면 됩니다.
Django 프로젝트에서 전반적인 config에 대한 설정 및 구조와 여러 app들을 관리하고
app 프로젝트에서는 MTV패턴의 형태로 동작하는 단위별 웹 프로젝트 구조라고 보시면 될 것 같습니다.
MTV 패턴은 MVC패턴과 비슷한 구조지만 Django환경에서 용어가 조금씩 다르기 때문에 MTV패턴이라고 칭합니다.
기본적으로 MVC패턴은 model-view-contoller으로 구성되어있고
Django의 MTV패턴은 model(model)-template(view)-views(controller)구조로 MVC 패턴 구조를 사용하고 있습니다.
먼저 Django app을 만들었던 app1을 이용하여 간단하게 필수적인 요소들만 설명을 하도록 하겠습니다.
1) model.py
model.py에서 DB에 생성해서 사용할 데이터들을 정의합니다.
model.py에서 데이터를 입력, 수정하여 db에 대한 table 및 column을 생성, 수정, 삭제 할 수 있습니다.
model이 DB의 DML을 넘어서 DDL영역까지 활용가능하다는 것을 알 수 있습니다.
2) Template(나중에 생성할 예정)
Template가 현재 프로젝트 폴더에는 보이지 않지만 UI를 담당하는 view의 역할을 하며 해당 폴더에
view의 역할을 하는 html또는 다른 script파일들을 생성하여 사용할 수 있습니다.
3) views.py
views.py에서 controller역할을하여 model과 Template를 중간 다리 역할을 합니다.
다음으로는 Django프로젝트로 생성한 djangoProject 구조에 대해
필수적인 요소들만 간단하게 알아보도록 하겠습니다.
1) settings.py
Django프로젝트의 기본적인 config 설정이며, Django app 연동, lib 및 middleware 연동,
log 레벨, DB 설정, 언어, 시간 등의 설정들을 관리합니다.
2) urls.py
urls.py에서 Django프로젝트로 접근하는 REST를 관리하여줍니다.
Spring Framework의 Dispatcher Servlet과 비슷한 역할을 한다고 보시면 됩니다.
지금까지 Django프로젝트 구조 및 구성 요소에 대한 포스팅이였습니다.
다음시간에는 Django를 활용하여 프로젝트에 필요한 설정들 세팅과 기본적인 페이지들을 만들어
화면에 띄워보도록 하겠습니다.
'Develope > Django' 카테고리의 다른 글
[Django] 장고 개발환경 및 프로젝트 실행하기 (0) | 2021.09.11 |
---|