장고를 독학으로 공부하기 시작했습니다. 주어진대로 코딩을 하며 구현은 할 수 있었지만 전체적인 흐름이 익혀지지 않았습니다. 그러던 중 생활코딩님의 장고 강의를 보게 되었고, 설명을 정말 잘 해주셔서 이를 바탕으로 개인적인 정리를 하게 되었습니다.
클라이언트에서 서버까지의 경로
프로젝트를 시작하게 되면 그 안에 구성된 여러 앱들이 있습니다. 이 앱들이 어떻게 동작하는지 살펴보겠습니다.
첫번째로, 프로젝트를 만들게되면 Project 파일 안에 urls.py라는 파일이 들어 있습니다. 어플리케이션을 프로젝트 안에서 구현하는 것이 아닌 각각의 App안에서 구현하게 됩니다. App은 프로젝트가 복잡해지지 않도록 서로 연관된 로직들을 모아서 그룹화 시켜 놓은 것입니다. 각각의 App들도 urls.py라는 파일을 갖고 있습니다. 다음으로 App 안에는 View라는 파일을 만들게 되고, 여러 함수들을 통해 어플리케이션의 구현을 실행하게 됩니다.
두번째로, 사용자가 접속을 하게 되면 여러 경로로 들어오게 됩니다. 각각의 경로를 누군가에 위임할 것인가를 urls.py 파일을 수정하여 코딩을 하게 되는 것입니다. 가장 먼저 프로젝트 파일로 들어오게 되고 이를 ulrs.py에서 작성한 코드에 의해 설정된 App으로 이동하게 되고 마찬가지로 App에서 설정된 View로 보내게 됩니다. View안에서는 요청된 함수를 실행하게 됩니다. 이후 구체적인 작업에서는 DB를 사용하게 됩니다. (Model을 통해 DB에 접속합니다.)
최종적으로, Html, Json, Xml과 같은 형태의 데이터를 만들어 사용자에게 보내게 되는 것입니다.
django-admin startapp myapp # 앱을 생성하는 코드
(출처: https://www.youtube.com/watch?v=QX8CQMycDa0&list=PLuHgQVnccGMDLp4GH-rgQhVKqqZawlNwG&index=4)
'Django' 카테고리의 다른 글
[Django] method(GET, POST) (0) | 2022.01.28 |
---|---|
[Django] django를 쓰는 이유 (0) | 2022.01.28 |
[Django] Routing (0) | 2022.01.28 |