python manage.py runserver 를 했을때, 스크립트는 프로젝트 내부 디렉토리의 settings.py 파일을 찾는다.


이 파일은 장고 프로젝트를 위한 모든 설정을 포함하고 있습니다.


모든것은 대문자이고 TEMPLATE_DIRSDATABASES, etc. 


가장 중요한것은 ROOT_URLCONF 입니다.


이 옵션이 Django 에서 URL 의 ROOT로 지정되어야 한다고 알려준다.


ROOT_URLCONF = 'mysite.urls'
이것을 잘 보면 실제 경로는 mysite/urls.py 이라는 것을 알 수 있다.


특정 URL에 대한 요청이 들어올때 Django는 ROOT_URLCONF 를 보고 urls.py를 로드합니다.


그리고 matching 되는 url을 찾습니다.


매칭되는 하나를 찾으면, 그 패턴과 관련된 뷰 함수를 호출하여 첫번째 매개 변수로 HttpRequest 객체를 전달합니다.


그리고 View 함수는 무조건 HttpResponse를 반환해야 합니다.


우선 이 작업이 끝나고 나면 Django가 나머지 작업을 수행합니다. 


적절한 HTTP 헤더와 Body ( 즉 웹페이지의 내용 )을 사용하여 Python 객체를 적절한 Web Response로 변환합니다.


요약하면 아래와 같습니다.


1. 사용자가 /hello/ 의 요청을 보냅니다.


2. Django는 ROOT_RULCONF 를 보고 루트 URLconf 를 결정합니다.


3. Django는 /hello/ 와 일치하는 URLconf 의 모든 URL 패턴을 찾습니다.


4. 만약 일치하는 것을 찾으면 관련 뷰 함수를 호출합니다.


5. 해당 View 함수는 HttpResponse를 반환합니다.


6. Django는 HttpResponse를 적절한 HTTP 응답으로 변환하여 웹페이지를 생성합니다.


이것은 장고로 구동되는 페이지를 만드는 기본입니다.



'Python > Django' 카테고리의 다른 글

[Django] RestFrameWork 튜토리얼 - 1. 직렬화  (0) 2017.03.10
[Django] 템플릿 태그와 필터  (0) 2017.03.08
[Django] 템플릿  (0) 2017.03.08
[Django] Dynamic URL  (0) 2017.03.08
[Django] urls.py 특징.  (0) 2017.03.07
Posted by C마노
,