Django Request- Response Cycle

Yerin·2020년 3월 26일
0

장고는 서버의 애플리케이션과도 같은 것이다. 주 업무는 서버가 받은 요청을 처리하는 것이다. 그런 다음 함수를 실행하고 응답을 제공한다.

요청이 장고에 들어오게 되면 가장 먼저 미들웨어에서 핸들링한다. 장고 서버가 시작되면 settings.py 다음으로 로딩되는 것이 바로 미들웨어이다. 요청은 한번에 여러 미들웨어로부터 생성된다. 요청이 들어오면 보안 미들웨어부터 거치는데 부적절하다고 판단되면 요청 처리가 더이상 진행되지 않게 한다. 다른 한편, 인증 요청은 인증 미들웨어로 넘어간다. 어떻게 처리해야되는지 모르는 미들웨어들을 제치고 인증 미들웨어로 넘어온 것이다.

이 미들웨어들로부터 처리가 되고 나면, URL Router로 보내진다. 여기서는 요청으로부터 url을 추출해서 정의되어있는 url들과 맞춰본다. 매칭되는 것이 있으면 해당되는 view 함수가 실행된다.

view 기능에서는 여러 속성들과 url 인자들을 가질 것이다. 요청에서 온 파일들도 접근할 수 있다. 이 요청들은 HttpRequest 클래스 객체들이다. 요청 모듈은 파이썬 모듈로, 다양한 메소드들을 제공한다.

view 함수가 실행되면 응답을 줘야하는 타이밍이다. 응답은 HttpResponse형태로 내보내진다. 응답이 이것으로 제한된 것은 아니다. 장고는 여러 타입의 응답들을 보낼 수 있도록 기능을 제공한다. 응답이 렌더링하면 html을 찾을 것이다. html 페이지는 장고 템플릿 엔진으로부터 생성된다. 그러고 나면 장고는 파일을 전송할 것이고 그 파일 안에는 html과 통계자료들이 있을 것이다.

profile
졸꾸 !!!

0개의 댓글