🚀 Languege/Django-Python

[Django #1] Django란 무엇인가, 기본 개념 익히기

mini_world 2021. 1. 14. 09:41
목차 접기

 

안녕하세요!🙋🙋‍♀️

초보를 위한 (즉, 나 스스로를 위한..ㅠㅠ) Django!! 시리즈를 포스팅 하려고 합니다!

먼저 이 시리즈를 시작하기 전에, 개념부터 하나씩 이해해 보려고 합니다.

 

Django란?

Django 공식홈페이지에서도 아래와 같은 내용을 확인할 수 있습니다.

한마디로, Python 웹 어플리케이션 프레임 워크 입니다.
다른 프레임워크에 비해 사용하기 쉽기 때문에 인기가 많고  Python 을 기반으로 하기때문에 Python을 잘 알고있는 사람에게는 쉽게 시작할 수 있겠죠! (Python 언어 자체도 초보자가 배우기는 쉽습니다.)

Django는 동적 웹사이트를 위한 프레임워크입니다.
동적 웹사이트란, 사용자와의 인터렉션이 베이스이기 때문에 사용자UI, 데이터베이스 구성이 필수적입니다. 특히나 관계형 데이터베이스를 사용하는 경우, Postgresql, Mysql, Oracle 관계없이 Django에서 제공하는 바인딩으로 아주 쉽게 사용할 수 있습니다. 저는 개인적으로 이게 아주 큰 장점이라고 생각합니다. 로그인, 회원가입, 인증, CORS등을 제공하는 라이브러리를 이용하여 간단하게 사용이 가능합니다. 
다시말해, 웹서비스를 하기 위한 기본적인 틀을 다 갖추고 있어 개발 시간이 크게 단축된다는 장점이 있습니다!!

Django는 MTV(Model, Template, View) 패턴으로 설계되었습니다.  (MVC(Model, View, Contraller) 와 매우 유사합니다.)


* Model : 모델은 웹 어플리케이션의 데이터를 구조화 하고 조작하기 위한 논리적인 계증입니다.
models.py에 데이터에 대한 정보를 정의합니다. MVC모델에서의 Model과 같습니다. 

* Template : 사용자 인터페이스를 제공합니다. 웹앱의 /template/*.html로 작성됩니다. MVC모델에서의 View와 같습니다. 

* View: 사용자의 요청을 처리하고 결과를 반환하기 위한 로직을 정의합니다. MVC모델에서의 Controller와 같습니다. 


그럼, 사용자와 서버간의 요청-응답 로직은 어떻게 될까요?

출처: https://learnbatta.com/blog/understanding-request-response-lifecycle-in-django-29/

먼저 사용자 요청이 오면,
1. Django에서 Request를 확인하고
2. URL conf 파라메터를 확인한후에
3. urls.py파일을 보고 URL에 매핑된 View를 결정합니다
4. views.py파일에 정의된 메소드를 실행하고
5. template에 렌더링하여 최종 HTML 코드를 사용자에게 응답합니다.


 

너무 어려운데 ㅠㅠ 이제 다음 단계로 넘어가면서, 실습하면서 이해해보도록 하겠습니다 :)

728x90