개미의 개열시미 프로그래밍

[django] 개발 흐름 이해하기 본문

WEB/django

[django] 개발 흐름 이해하기

YunHyeok 2021. 6. 29. 16:53
728x90
반응형

'점프 투 파이썬'을 공부하던 중 각 파일이 하는 역활에 대해 헷갈리기 시작했고 전체적인 개발흐름을 이해하기 위해 복습을 하면서 제대로 정리해야겠다고 생각했다.

 

참고자료 : 점프 투 장고


django-admin startapp pybo

위 명령어를 통해 pybo 앱을 생성 후 디렉터리 구조를 확인해보았다. 

pybo앱 생성 후 디렉터리 구조

 

[config/urls.py]

- 장고가 사용자의 페이지 요청을 이해할 수 있도록 'URL 매핑을 추가' 하는 파일

- 페이지 요청 시 가장 먼저 호출되며 요청 URP과 views.py에 있는뷰 함수를 1:1 연결

ex) 키보드로 URL입력 (localhost:8080/pybo) -> urls.py에서 view.py의 함수에 매핑  -> view.py에서 웹브라우저에 보여줄 페이지 출력

- urlpatterns 변수를 보면 pybo/URL과 views.py의 index함수를 매핑한다.

 

 

[pybo/views.py]

: 웹 브라우저에 응답을 하기 위한 파일

- index 함수의 매개변수 request는 장고에 의해 자동으로 전달되는 HTTP요청객체이다.

- HttpResponse는 페이지 요청에 대한 웹 브라우저에 응답할때 사용되는 장고 클래스이다.

 

 

[장고의 개발 흐름]

1. 웹 브라우저에서 localhost:8000/pybo 입력 시 장고 개발 서버에 /pybo 페이지를 요청한다.

2. config/urls.py 파일에서 URL을 해석해 pybo/views.py 파일의 index 함수를 호출한다.

3. pybo/views.py 파일의 index 함수를 실행한 결과를 웹 브라우저에 응답한다.

 


[URL 분리하기]

뭔가 불편함? 번거로운 점이 있다면 디렉토리 구조를 보면 config/urls.py은 pybo관련 앱에 대한 파일이 없고 pybo 앱 URL 매핑 시에 config디렉터리에 urls.py를 수정한다는 점이다.

프로젝트 구조를 고려하여 pybo 앱 디렉터리에 urls.py를 생성하여 pybo앱의 url매핑시 pybo디렉터리 안에 있는 urls.py를 수정할 수 있도록 구성해야한다.

 

 

 

728x90
반응형
Comments