
출처 :
Django는 웹 사이트를 보다 신속하고 유지보수가 편리하게 구현하기 위해 도움을 주는 파이썬 웹 프레임워크입니다. 웹 개발을 하는데 굉장히 유용한 기능들을 다수 보유하고 있으며, 이 프레임워크를 이용하여 보다 앱 개발에 집중할 수 있게 되고, 어떤 운영체재(리눅스,맥,윈도우 등)에서든 작동 할수 있죠.
잠깐 ! 프레인워크와 라이브러리의 차이점 🔔
저는 프레임워크가 개발에 필요한 다양한 기능들을 제공한다는 점에서 라이브러리와 헷갈렸는데, 이 둘의 차이는 이 툴의 사용자가 흐름을 제어하냐 못하냐의 차이인것 같습니다. 예를 들어서, 제가 라이브러리를 사용할 때, 해당 라이브러리를 제 기능 어디에 적용할지 정할 수 있는 반면, 장고 같은 프레임워크는 사용자가 이미 만들어진 환경에 맞추어서 코드를 집어넣어야되죠. 도구는 저희가 다룰수 있지만, 환경은 다룰 수 없듯이요 !

Models.py 파일은 데이터베이스의 구조를 정의하고, 데이터베이스의 기록을 관리(C.R.U.D)하고 쿼리하는 방법을 제공하는 파이썬 객체입니다. 해당 파일을 Views.py에서 import하여, 데이터 베이스 관련 로직을 처리합니다.MVC 패턴이란?
사용자 인터페이스로부터 비즈니스 로직을 분리하여 애플리케이션의 시각적 요소나 그 이면에서 실행되는 비즈니스 로직을 서로 영향 없이 쉽게 고칠 수 있는 애플리케이션을 만들 수 있다. MVC에서 모델은 애플리케이션의 정보(데이터)를 나타내며, 뷰는 텍스트, 체크박스 항목 등과 같은 사용자 인터페이스 요소를 나타내고, 컨트롤러는 데이터와 비즈니스 로직 사이의 상호동작을 관리한다.
장고의 MVT (Model-View-Template) 패턴
위와 같이 서로의 영향 없이 고칠수도 있기 때문에 더 집중할 수 도 있으며 유지보슈면에서도 용이하다고 한다.
빠른 설치 가이드와 프로젝트 폴더 생성은 아래의 링크를 클릭 ! 👇
https://docs.djangoproject.com/ko/3.1/intro/install/
위의 링크의 가이드대로 설치를 할 시, 다음과 같은 프로젝트 트리가 생성된다.
mysite/
manage.py
mysite/
__init__.py
settings.py
urls.py
asgi.py
wsgi.py
파일에 대해 소개를 하자면,
python3 manage.py runserver를 치면 장고가 기본적으로 제공하는 테스트 웹 서버를 가동 시킬 수 있다. 이 외에도 여러가지 기능들을 내포하고 있다.polls/
__init__.py
admin.py
apps.py
migrations/
__init__.py
models.py
tests.py
views.py
그래서 위의 해당 앱을 관리하는 파일 트리가 다음과 같이 생성된다. 여기서 migrations는 models.py에서 정의한 테이블이 적용되는 것을 기록하는 파일이며, views.py가 이 앱에서 어떤 로직으로 url 요청이 왔을 때 처리할 것인가를 판단한다.