본 포스팅은 웹 프레임워크 Django(python) 개념 정리 영상을 참고하여 작성되었습니다.
MVC이 많이 알려져 있고 장고에서는 MTV를 사용한다. 두 개념은 동일하다.
Model : 안전하게 데이터를 저장View : 데이터를 적절하게 유저에게 보여줌(유저가 원하는 형태로 만들어서)Control, Template(Django) : 사용자의 입력과 이벤트에 반응하여 Model과 View를 업데이트

<왼쪽 구조도 설명>
이렇게 복잡한 과정을 거치는 이유는 특정 영역을 분리하는 게 효율적이기 때문이다.
<오른쪽 구조도 설명>
장고 웹 프로젝트를 생성하면 다양한 파일들이 생성된다. 녹색 파일이 실질적으로 다룰게 될 파일
django-admin startproject tutorial

manage.py 실행파일과 프로젝트 명으로 폴더 생성됨
settings.py : 전체 프로젝트를 관리하는 설정이 담겨 있음./manage.py startapp community

admin.py : 관리자 권한을 가지는 사용자가 볼 수 있는 페이지를 다루는 파일models.py : 데이터 베이스 관련 역할views.py : 데이터를 적절하게 가공프로젝트 환경 설정 파일
DEBUG : 디버그 모드 설정, True - 개발 단계, 다양한 변수들의 상태 확인 가능 / False - 배포 시INSTALLED_APPS : pip로 설치한 앱 또는 본인이 만든 앱 추가MIDDLEWARE_CLASSES : request와 response 사이의 주요 기능 레이어TEMPLATES : template 파일과 관련된 변수들을 조정하는 context, template를 검색하기 위한 기능, 폴더 위치 등을 다루는 설정파일(html, 변수)DATABASES : 데이터베이스 엔진의 연결 설정STATIC_URL : 정적 파일의 URL(css, javascript, image, etc.)프로젝트 관리 명령어 모음
startapp : 앱 생성runserver : 서버 실행createsuperuser : 관리자 생성makemigrations app : app의 모델 변경 사항 체크(변경 사항을 서버와 동기화할 수 있는 쿼리를 생성)migrate : 변경 사항을 DB에 반영shell : 쉘을 통해 데이터를 확인collectstatic : static 파일을 한 곳에 모음ex) ./manage.py runserver 0.0.0.0:8080