Django 튜토리얼 파트3
-
view
Django 앱이 일반적으로 특정 기능과 템플릿을 제공하는 웹 페이지의 한 종류
웹 페이지와 다른 컨텐츠들은 view로 전해짐
각 view 는 Python function(메소드나 클래스 기반 뷰) 로 이루어짐
-
URL
Django는 요청된 URL 들을 검사하는 식으로 view를 선택함
패턴은 전형적인 형태
-
<\URLconfs’
URL로부터 view얻기위해 사용
URL 패턴을 뷰에 연결
-
-
-
view 추가
view에 함수 생성
urls.py 에서 path() 모듈 추가하고 연결
-
요청 처리 순서
-
사용자가 웹 사이트 패이지 요청
-
DJango는 루트에서 파이썬 모듈 불러옴(ROOT_URLCONF 설정에 의해 해당 모듈 바라보도록 지정)
-
urls 에서 urlpatterns 라는 변수 찾고 순서대로 패턴 따라감
-
일치하는 패턴 찾은 후 일치하는 텍스트 버리고 남은 텍스트를 URLconf로 전달하여 남은 처리 진행
-
해당 뷰 함수 호출
-
-
-
뷰에 기능 더하기
각 view는 HttpResponse(요청된 페이지의 내용이 담긴 객체)반환하거나 예외를 발생하게 해야 함
view 내부에서 여러 처리 가능
-
템플릿
Python 코드로부터 디자인을 분리하는 기능
-
context
템플릿에서 쓰이는 변수명과 Python 객체를 연결하는 사전형 값
-
render
템플릿에 context 채워넣어 표현한 결과를 HttpResponse 객체를 함께 돌려주는 구문의 단축 기능
-
-
에러 일으키기
해당 요청에 대하여 알맞은 HTTP에러 발생
-
get_object_or_errorNumber()
해당 에러 발생 시 get() 사용하여 에러 발생시키는 구문의 단축 기능
-
도움 함수와 에러 객체
상위 계층에서 예외 자동을 잡아내는 대신 사용
model 계층을 view 계층에 연결하는 방법
약결합을 관리하기 위해 사용
-
-
-
템플릿 시스템
변수의 속성에 접근하기 위해 점-탐색 문법 사용
-
점-탐색 문법
-
객체에 대해 사전형으로 탐색
-
없을 시 속성값으로 탐색
-
없을 시 list에서 탐색
-
-
하드코딩된 URL 제거
-
url template 태그
path() 함수에서 이름 설정해서 url 설정에 정의된 특정 URL 경로들의 의존성 제거
-
URL 이름 공간 정하기
다른 앱의 중복되는 URL 방지
urls.py 파일에 app_name 추가하고 이름 공간으로 나눠진 상세 뷰 가리키도록 변경 가능
-
-