웹브라우저 -> 이벤트 발생(Url클릭, 데이터입력등) -> 장고서버로 input
-> URL dispatcher에서 분석시작 -> 적합한 view로 이동 -> Model에서 실제적인 데이터베이스와 커넥션을 하고 적절한 데이터를 가져옴 -> view로 다시 전송 -> 실제적으로 보여줄 데이터를 템플릿으로 전송
왜 이렇게 복잡한 로직으로 운용되는가? 다수의 사용자에게 효율적인 데이터처리를 구현시켜주기 위해 카테고리별로 세부적으로 운용됨
엔진 or 아파치 = 웹서버 // DB = MySQL
WSGI.py : 웹서버와 Django를 연결시켜주는 역할을 함(=Gateway)
Urls.py : 정규표현식으로 구성. 정규표현식에 맞게 특정한 view로 보내줌
views.py : 데이터를 입력하든지, 리스트를 보여줄건지 여러 역할을 결정
models.py : DB로부터 데이터를 가져올 때 class에 넣고
Managers : SQL쿼리문을 따로 작성하지않고 구동될 수 있게 DB와 연결해줌
Template : UI를 만들어서 사용자가 볼 수 있게 만들어줌
settings.py : 전체 프로젝트를 관리하는 설정들이 담겨있는 파일
migrations : 데이터베이스와 관련된 폴더
프로젝트 생성 : django-admin startpoint tutorial
app 생성 : ./manage.py startapp community(하위앱)
settings.py : 프로젝트 환경설정
Manage.py : 다양한 파일들이 존재