Django Basic 1-2) Request processing and routing

Turtle·2023년 12월 20일
0
post-thumbnail

📌Django의 요청 처리 방법과 경로 지정

  • ①. 요청이 들어온다.

  • ②. 요청이 들어오면 wsgi, asgi 등을 통해서 웹 서버로의 요청을 받고 이 요청을 처리할 wsgi 처리 인스턴스가 처음 생성된다.

  • ③. 그 다음으로 process_request가 해당 인스턴스에 의해 실행되는데 process_request middleware module이 요청 데이터를 해석해서 Django HTTP 내부 클래스인 HttpResponse를 사용해 Request 객체를 생성하고 경로 주소를 확인하기 위해서 다음 단계인 URL resolution 단계로 넘어간다.

  • ④. 여기서는 URL 파일을 읽어서 요청의 경로 주소와 연결된 view를 결정한다.

  • ⑤. View는 요청이 들어왔을 때 어떤 로직이 실행되어 어떤 응답이 나갈지 로직을 정하는 코드라고 보면 되는데 함수가 될 수도 있고 클래스의 메소드가 될 수도 있다. 중요한 건 호출이 가능한 형태여야 한다.

  • ⑥. View가 실행된 뒤에는 return 값으로 응답 결과를 돌려줄 때 문자열을 직접 돌려줄 수도 있지만 Django의 template이라는 모듈을 활용해서 HTML코드를 처리하고 보내줄 수도 있다. template를 쓰든 안 쓰든 결과적으로 HttpResponse라는 객체 형태로 호출 결과가 마무리된다.

  • ⑦. 마지막으로 이 객체를 Django에 내장된 process response middleware module가 wsgi가 다시 처리할 수 있는 형태로 변환해야 나중에 웹 서버를 통해서 네트워크로 나갈 수 있게 되는 것이다.

0개의 댓글