바뀜

둘러보기로 가기 검색하러 가기
1,218 바이트 제거됨 ,  2021년 4월 20일 (화) 20:54
60번째 줄: 60번째 줄:  
|URL
 
|URL
 
|urls.py에서 뷰를 매핑하는 함수를 작성한다.
 
|urls.py에서 뷰를 매핑하는 함수를 작성한다.
  −
*setting.py의 ROOT_URLCONF 항목을 읽어 urls.py를 불러오고, urlpatterns변수에 지정된 패턴을 찾아 대응시킨다.
  −
*여기에 해당하는 view를 불러온다.
  −
*매핑할 때 추출한 단어들을 뷰에 인자로 넘겨준다.
  −
  −
(주소창에 ~주소~/<int:변수명>/<타입:변수명> 형태로 인자를 전달한다. 각 타입에 대해선 p99에 목록이 있음.)
  −
  −
(정규표현식을 사용해서 URL패턴을 작성할 수도 있다. <int:year> 대신 (?P<year>[0-9]{4}) 개인적으로 앞이 훨씬 직관적이고 편한데? p100에 간단한 정규표현식 설명이 있다.)
  −
  −
(정규표현식을 쓸 때엔 path()대신 re_path()함수를 사용한다.
  −
  −
- 매칭되는 패턴이 없다면 에러를 처리하는 뷰를 호출한다.
   
|
 
|
 
|
 
|
 
|-
 
|-
 
|View
 
|View
|응답을 하기 위해 상단에 from django.http import HttpResponse를 써주어야 한다.
+
|
- 함수로 뷰를 작성한 예.
  −
 
  −
def 함수명(request):
  −
 
  −
    ~~
  −
 
  −
    return HttpResponse(객체명)
  −
 
  −
request를 받고, HttpResponse를 반환한다. 에러를 반환하고 싶다면 HttpResponseNotFound 등을 반환하면 된다.
     −
일반적으로 템플릿에 보냈다가 이를 HttpResponse객체에 담아 클라이언트에게 응답한다.
      
(일반적으로 HttpResponse 대신 render함수를 사용한다. 직접 짜는 것보다 html파일을 이용하는 게 편하기 때문이다.)
 
(일반적으로 HttpResponse 대신 render함수를 사용한다. 직접 짜는 것보다 html파일을 이용하는 게 편하기 때문이다.)

둘러보기 메뉴