
이미지 출처 : https://www.technoarchsoftwares.com/blog/django-request-response-cycle/
- 웹 브라우저는 URL(http://localhost:8000/blog/3/)로 페이지를 요청한다.
웹 서버가 HTTP 요청을 수신해 쟝고에 전달한다.
- 쟝고는 URL 패턴의 구성에 정의된 각 URL 패턴을 검사하고, 프레임워크는 주어진 URL 경로에 대해 각 패턴을 나타나는 순서대로 확인한고 요청된 URL과 매칭되는 첫번째 패턴에서 검사를 멈춘다.
/blog// 패턴이 /blog/33/ 경로와 매칭되게 된다.
- 쟝고는 일치하는 URL 패턴의 뷰를 가져와 HttpRequest 클래스의 인스턴스와 키워드 또는 위치 인수를 전달해 실행한다.
뷰는 모델을 사용해 DB에서 정보를 조회하는데, 쟝고 ORM QuerySet을 사용하면 SQL로 변환되어 DB에서 실행된다.
- 뷰는 render() 함수를 사용해 context 변수로 Post를 전달해 HTML 템플릿을 렌더링한다.
- 렌더링된 내용은 컨텐트 타입이 기본적으로 text/html인 뷰에 의해 HttpResponse 객체로 반환된다.
여기서는 설명의 단순화를 위해 미들웨어는 포함시키지 않았지만 추후에 미들웨어를 공부하며 추가할 예정이다.