Python Django

Python Django 13 - forward, redirect

코딩탕탕 2022. 10. 23. 14:39

 

def setOsFunc(request):
    if "favorite_os" in request.GET:
        # print(request.GET.favorite_os) #같은 의미이다.
        print(request.GET["favorite_os"])
        
        # "f_os"라는 키로 세션을 생성
        request.session["f_os"] = request.GET["favorite_os"]
        # return render() 형식은 forwarding이기 때문에 클라이언트를 통한 요청 불가
        # 다시말해 메인 urls.py를 만날 수 없다.
        
        # forwarding 말고 redirect 방식을 사용한다면 가능하다.
        return HttpResponseRedirect("/showos")

Python에서는 forward할때 return render() 형식이다.

ridirect 방식은 return HttpResponseRedirect("/showos") 이렇게 사용한다.

 

 

참조

 

리다이렉트(Redirect)와 포워드(Forward)의 차이는 무엇인가?

리다이렉트와 포워드 특정 URL 접속 시 리다이렉트 또는 포워드가 일어나게 되면 작업 중인 페이지가 전환된다. 리다이렉트와 포워드는 페이지가 전환된다는 점에서 비슷한 역할을 한다. 하지만

kotlinworld.com