바뀜

247 바이트 제거됨 ,  2021년 7월 27일 (화) 11:34
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을 추출해 주소를 반환하는 기능.
 +
 +
다시 다른 주소로 보내 다른 함수를 작동시킨다.
 
==기타==
 
==기타==