1번째 줄: |
1번째 줄: |
| + | <youtube>https://www.youtube.com/watch?v=VadvzFGqDcc</youtube> |
| | | |
| ==개요== | | ==개요== |
23번째 줄: |
24번째 줄: |
| 에러를 반환하고 싶다면 HttpResponseNotFound 등을 반환. | | 에러를 반환하고 싶다면 HttpResponseNotFound 등을 반환. |
| |- | | |- |
− | |모델 활용 | + | | |
| + | | |
| + | | |
| + | |- |
| + | | |
| + | | |
| + | | |
| + | |} |
| + | |
| + | === 모델 활용 === |
| + | {| class="wikitable" |
| + | !단계 |
| + | !코드 |
| + | !설명 |
| + | |- |
| + | |모델 임포트 |
| |<syntaxhighlight lang="python"> | | |<syntaxhighlight lang="python"> |
| from 앱이름.models import 모델명 | | from 앱이름.models import 모델명 |
35번째 줄: |
51번째 줄: |
| |<syntaxhighlight lang="python"> | | |<syntaxhighlight lang="python"> |
| from django.shortcuts import render | | from django.shortcuts import render |
− | from django.shortcuts import get_object_or_404#객체가 없을 때 에러페이지를 내기 위함. | + | from django.shortcuts import get_object_or_404 #객체가 없을 때 에러페이지를 내기 위함. |
| | | |
| def 함수명(request): | | def 함수명(request): |
41번째 줄: |
57번째 줄: |
| | | |
| ... | | ... |
− | render(request, '템플릿경로(root에서부터의경로)', 사전) | + | return render(request, '템플릿경로', 사전) |
| </syntaxhighlight>탬플릿에 넘겨준다는 표현을 했지만, | | </syntaxhighlight>탬플릿에 넘겨준다는 표현을 했지만, |
| 탬플릿을 불러들여 규칙에 따라 손본 후 내용을 HttpResponse에 담아 반환하는 과정을 거친다. | | 탬플릿을 불러들여 규칙에 따라 손본 후 내용을 HttpResponse에 담아 반환하는 과정을 거친다. |
| |템플릿에 넘겨주는 방식은 파이썬 사전형이다. | | |템플릿에 넘겨주는 방식은 파이썬 사전형이다. |
− | render는 데이터를 HTTPResponse로 반환한다. | + | render는 데이터를 가공하여 HTTPResponse로 반환한다. |
− | |}from 앱이름.models import 모델명
| |
− | | |
− | 테이블에 엑세스하기 위한 임포트가 필요하다.
| |
− | | |
− | 함수 안에서 모델.object.all() 형식으로 객체를 불러올 수 있다.
| |
− | | |
− | [아마 모델.object.all()[컬럼명]으로 열접근이 될듯?]
| |
− | | |
− | 템플릿에 넘겨주는 방식은 파이썬 사전형이다.
| |
− | | |
− | 이를 render함수 안에 넣어서 return 한다.(이걸 쓰기 위해 from django.shortcuts import render 필요)
| |
− | | |
− | render(request, '템플릿명(템플릿root에서부터 경로로 쓴다.)', 사전)
| |
− | | |
− | render는 데이터를 HTTPResponse로 반환한다.
| |
− | | |
− | 일반적으로 템플릿에 보냈다가 이를 HttpResponse객체에 담아 클라이언트에게 응답한다.
| |
− | | |
− | view 함수 안에서..
| |
| | | |
| + | === view 함수 안에서.. === |
| 객체 = get_object_or_404(오브젝트, pk=객체.id) 형태로 객체가 없으면 404를 반환한다. 이걸 쓰려면 django.shortcuts에서 get_object_or_404를 임포트해야 한다. | | 객체 = get_object_or_404(오브젝트, pk=객체.id) 형태로 객체가 없으면 404를 반환한다. 이걸 쓰려면 django.shortcuts에서 get_object_or_404를 임포트해야 한다. |
| + | |} |
| | | |
− | 리다이렉트하기(view)
| + | == return == |
− | | + | 뷰의 마지막에 올 수 있는 것들. |
− | return HttpRedirect(reverse('url이름', args=(보낼객체), args=(보낼객체2))
| |
− | | |
− | revere는 url이름에서 url을 추출해 주소를 반환하는 기능.
| |
− | | |
− | 다시 다른 주소로 보내 다른 함수를 작동시킨다.
| |
− | | |
− | {% url %} 태그와 동일한 기능이라 보면 된다.
| |
− | | |
− | == render ==
| |
− | 탬플릿을 html코드로 가공하여 HttpResponse로 내보낸다. 탬플릿(html)을 활용하여 이 함수를 사용하는 게 가장 간편하다.
| |
| {| class="wikitable" | | {| class="wikitable" |
| |+ | | |+ |
85번째 줄: |
74번째 줄: |
| !설명 | | !설명 |
| !방법 | | !방법 |
− | |-
| |
− | |
| |
− | |
| |
− | |
| |
− | |-
| |
− | |redirect
| |
− | |해당 페이지로 보낸다.
| |
− | '/' 따위의 인수를 담아 보낸다.
| |
− | |return redirect('보낼경로')
| |
| |- | | |- |
| |HttpResponse | | |HttpResponse |
103번째 줄: |
83번째 줄: |
| |return JsonResponse(사전) | | |return JsonResponse(사전) |
| |- | | |- |
− | | | + | |render |
− | | | + | |탬플릿을 html코드로 가공하여 HttpResponse로 내보낸다. 탬플릿(html)을 활용하여 이 함수를 사용하는 게 가장 간편하다. |
− | | | + | - 사전형으로 데이터를 템플릿에 전달하기 위한 변수로 많이 쓰는데.. 이 안에 또 사전을 넣으면 탬플릿에서 {% for key, value in 사전.items %} 형태로 사용할 수도 있다. |
| + | |return render(request, '탬플릿경로', 사전) |
| + | |- |
| + | |redirect |
| + | |해당 페이지로 보낸다. |
| + | '/' 따위의 인수를 담아 보낸다. |
| + | |return redirect('보낼경로') |
| + | |- |
| + | |HttpRedirect |
| + | |인수를 담아 해당 페이지로 넘긴다. |
| + | |return HttpRedirect(reverse('url이름', 인수=(보낼객체), 인수2=(보낼객체2)) |
| |} | | |} |
| + | revere는 url이름에서 url을 추출해 주소를 반환하는 기능. |
| + | |
| + | 다시 다른 주소로 보내 다른 함수를 작동시킨다. |
| ==기타== | | ==기타== |
| | | |