Programming Blog

3. Django(장고)란? 본문

Python

3. Django(장고)란?

Go-ong 2019. 1. 23. 19:24

Django(장고)


Django는 파이썬으로 만들어진 무료 오픈소스 웹 애플리케이션 프레임워크이며, 쉽고 빠르게 웹사이트를 개발할 수 있도록 돕는 구성요소로 이루어진 웹 프레임워크이다. 

웹사이트를 구축할 때, 비슷한 유형의 요소들이 항상 필요합니다. 회원가입, 로그인, 로그아웃과 같이 사용자 인증을 다루는 방법이나 웹사이트의 관리자 패널, 폼, 파일 업로드와 같은 것들 말이지요.

그런데 정말 다행이게도, 오래전에 어떤 웹 개발자들이 새로운 웹 사이트를 개발할 때 서로 비슷한 문제들에 직면한다는 것을 깨달았습니다. 그래서 팀을 조직했고요. 바로 사용할 수 있는 구성요소들을 갖춘 여러 프레임워크를 만들었답니다. 장고도 그중에 하나인 거죠. 다시 발명해야 하는 문제로부터 해방감을 주고요. 새로운 웹사이트를 개발할 때 뒤따르는 간접비용의 부담을 덜어준답니다.


프레임워크가 필요한 이유?


예를 들어, 편지(request, 요청)가 도착했는지 확인해주는 메일박스(port. 포트)가 있다고 하면, 이것은 웹 서버가 해주는 일이고, 

웹 서버는 받은 편지를 읽고 웹 페이지와 함께 답장을 준다. 근데 무언가를 주고 싶을 때는 그 안에 내용이 있어야 하는데, 그 특정 콘텐츠를

만들 수 있는 역할을 하는 것이 Django이다.


누군가가 서버에 웹 사이트를 요청하면 일어나는 과정?


웹 서버에 요청이 오면 장고로 전달되고 장고 urlresolver는 웹 페이지의 주소를 가져와 무엇을 할 지 확인한다.

urlresolver는 웹 사이트 주소인 URL을 통해 이해한다.

이 urlresolver는 패턴 목록을 가져와 URL과 맞는지 처음부터 하나씩 대조해 식별한다. 만약 일치하는 패턴이 있으면, 장고는 해당 요청을 관련된

함수(view)에 넘겨준다.

 예를 들어, 집배원을 생각한다면 집배원을 거리를 걸으며 집집마다 편지와 대조해서 주소와 번지를 확인하고 주소와 번지가 일치하면 

그곳에 편지를 배달한다. urlresolver가 바로 집배원과 같은 역할을 하게 된다.


모든 처리는 view함수에서 처리된다. 특정 정보를 DB에서 찾았는데, 사용자가 데이터 수정을 요구한다면 view함수는 사용자가 수정할 수 있는
권한이 있는지 확인하고, 수정 완료 후 다시 답장을 준다. 그러고 나서 view는 답장을 생성하여, 장고는 그 답장을 사용자의 웹 브라우저에 

보내주는 역할을 한다.



'Python' 카테고리의 다른 글

5. Django 프로젝트 (2)  (0) 2019.01.24
5. Django 프로젝트 (1)  (0) 2019.01.24
4. 장고 실행을 위한 가상환경  (0) 2019.01.24
2. 파이썬 시작  (0) 2019.01.22
1. Django 프레임워크, VS code로 파이썬 설치  (0) 2019.01.22
Comments