º Language º/Python

[파이썬] Django Cycle 장고 사이클 흐름 정리

Poony 2023. 10. 6. 01:24

 

Django Cycle

 

1. CLIENT ( Browser )

- 클라이언트는 우리가 만든 웹 어플리케이션을 보기 위해 요청을 합니다.

 

2. WEB SERVER ( Nginx / Apache )

- 장고에서는 개발을 위해 경량 개발 웹 서버가 프로젝트를 만들 때 이미 세팅되어 있습니다.

개발 할 때에는 경량 웹 서버를 이용하고, 상용에 배포할 때에는  Nginx 혹은 Apache 와 같은 웹서버를 사용합니다.

클라이언트가 요청을 하면 웹 서버인  Nginx 나 Apache 가 요청을 맞이합니다.

 

3. WSGI ( wsgi.py )

- WSGI 는 웹 서버와 장고 프레임 워크를 연결하기 위해서 사용됩니다.

 

4. REQUEST ( middleware )

- 요청이 되었으니 REQUEST가 쭉 넘어갑니다. 

 

5. URL RESOLUTION ( urls.py )

- 사용자가 이와 같이 특정 주소를 요청하는데 URL 파일에서 요청한 주소를 잘게 나누어 줍니다.

이 작업을 파싱이라고 합니다.

 

6. VIEW ( middleware )

- 잘게 나누어진 주소들은 역할에 맞게 뷰( VIEW )로 이동됩니다. 

 

7. VIEW ( views.py )

- 뷰는 웹 어플리케이션에 각각 알맞는 작업을 하기 위해 작성한 코드가 있습니다.

* MODEL ( model.py )

* MANAGERS

* DATABASE ( PostgreSQL )

요청 받은 데이터를 저장하거나, 데이터 베이스에서 꺼내오는 작업, PDF를 만들기 위한 작업 등 역할에 맞는 기능을 개발하는 겁니다.

 

8. TEMPLATE ( example.html )

- 뷰 작업이 끝나면 디자인 담당인 템플릿으로 이동됩니다.

 

9. RESPONSE( middleware )

- 이 후 사용자는 응답을 받게 됩니다.

클라이언트는 위와 같은 과정을 통해 화면을 볼 수 있습니다.