본문 바로가기

Django

Django 구조

Django 코드의 구조에 대해..

데이터기반 웹 사이트에서 웹 어플리케이션은 웹브라우저(클라이언트)로 부터 HTTP요청(request)을 기다린다.
요청을 받으면 웹 어플리케이션은 URL과 POST 데이터 또는 GET 데이터의 정보에 기반하여 요구사항을 알아낸다.
이후 DB로부터 정보를 읽거나 쓰고, 필요한 다른 작업들을 수행하는 것이다.
다음 웹 어플리케이션은 웹브라우저에 응답(response)을 반환 하는데, 주로 동적인 HTML 페이지를 생성하면서 응답한다.


Django의 구조를 알기위해 어떠한 단계로 수행되는지 알아 볼 수 있다. 간단하게 아래 그림으로 알아보자!


스크린샷 2020-10-11 오후 9 57 55


각각 의미를 알아보면

urls.py
함수 각각 모든 URL 요청을 처리하는것이 가능하지만, 분리된 뷰 함수를 작성하는 것이 각각의 리소스를 유지보수하기 훨씬 쉽다.
HTTP요청을 적절한 뷰(View)로 보내주기 위해 사용된다.
URL에 나타나는 특정한 문자열이나 숫자의 패턴을 일치시켜 데이터로서 뷰 함수에 전달 할 수 있다.


views.py
뷰는 HTTP요청을 수신하고 HTTP응답을 반환하는 요청 처리 함수이다.
뷰는 Model을 통해 요청을 충족시키는데 필요한 데이터에 접근한다.
그리고 template에게 응답의 서식 설정을 맡긴다.


models.py
모델은 응용프로그램의 데이터 구조를 정의하고 데이터베이스의 기록을 관리(추가, 수정, 삭제) 하고 쿼리하는 방법을 제공하는 파이썬 객체이다.


template
탬플릿은 파일의 구조나 레이아웃을 정의하고(HTML), 실제 내용을 보여주는데 사용되는 플레이스홀더를 가진 텍스트 파일이다.
뷰는 HTML 탬플릿을 이용하여 동적으로 HTML 페이지를 만들고 모델에서 가져온 데이터로 채운다.
탬플릿으로 모든 파일의 구조를 정의할 수 있다.
꼭 HTML 타입일 필요는 없다.

'Django' 카테고리의 다른 글

django rest framework에 대해서  (0) 2021.06.19
(django template) typescript 적용시키기  (0) 2021.03.13
django settings.py 분리 시키기  (0) 2020.11.15
django shell plus, Jupyter Notebook 설치  (0) 2020.10.11
django 시작하기  (0) 2020.10.02