출처 :
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 요청이 왔을 때 처리할 것인가를 판단한다.