python manage.py runserver 를 했을때, 스크립트는 프로젝트 내부 디렉토리의 settings.py 파일을 찾는다.
이 파일은 장고 프로젝트를 위한 모든 설정을 포함하고 있습니다.
모든것은 대문자이고 TEMPLATE_DIRS
, DATABASES
, etc.
가장 중요한것은 ROOT_URLCONF 입니다.
이 옵션이 Django 에서 URL 의 ROOT로 지정되어야 한다고 알려준다.
ROOT_URLCONF = 'mysite.urls'
특정 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 |