07. Django 란 - chohankyun/python-django-study GitHub Wiki

##1.Python Web Framework

Django (/ˈdʒæŋɡoʊ/ jang-goh/쟁고/장고)는 파이썬으로 만들어진 무료 오픈소스 웹 어플리케이션 프레임워크(web application framework) 입니다. 쉽고 빠르게 웹사이트를 개발할 수 있도록 돕는 구성요소로 이루어진 웹 프레임워크이랍니다.

#프레임워크 란

아주 간단하게, 미리 만들어 놓은 뼈대 라고 이해 하면 편하다.
어렵게 말하면, IOC(Inversion Of Control:제어의 역전) 를 구현한 모듈 이라고 생각하면 된다.

#제어의 역전 이란

아주 간단하게, 제어권 이 역전 되었다는 말이다.
개발의 제어권이 개발자에게서 프레임워크로 넘어갔다고 생각하면 된다.
풀어쓰면, 그냥 예전에는 개발자가 마음대로 코딩했지만,
이제는 프레임워크라는 틀 안에서 프레임워크의 규칙을 지키면서 개발자가 코딩을 해야 한다는 것이다.

#Django(Python Web Framework)

위에서 말한대로 라면, Django 의 틀 안에서 Django 의 규칙을 지키면서
Web Application 를 만들 수 있는 틀이다, 라고 생각하면 편하다.
물론 Django 는 Python 으로 만들어졌으니깐 Python 규칙도 지겨야겠죠.

#그럼 왜 프레임워크를 써야 하는가

생각해보자, 나 웹페이지 만들고 싶다, 그럼 간단한 html 파일 만들어서 웹서버에 넣고
브라우저에서 호출하면 화면이 나온다.
그럼 이제 우리가 흔히 만드는 게시판을 만든다고 생각해보자, 사용자가 게시글을 요청 하고,
웹서버가 요청을 받고, 중간에 있는 프로그램이 요청을 거기에 알맞은 프로그램을 후출 하도록 하고,
프로그램은 DB에서 데이터를 가져와서 화면을 만들고, 그걸 다시 웹서버에게 전달하고, 웹서버는 브라우저에
전달한다. 물론 이 과장은 프레임워크 없이 몇개의 라이브러리만 있으면 만들 수 있다. 하지만 그렇게 하면
프로그램이 복잡해지고 만들어야 하는 프로그램양이 많아진다, 이런것들은 미리 만들어 놓은것이 프레임워크다.
그러므로 프레임워크를 쓰면 개발자는 로직에 충실 할 수 있게 된다.