Sparta Coding Club/Today I Learned [TIL]

[TIL] #DAY - 033 - POST 메서드 사용 후 리다이렉트! (내일배움캠프AI 3기)

양한마리 2022. 10. 21. 01:13
728x90



오늘 내가 알게된 코드 중 가장 맘에드는 코드

항상 무언가 POST 처리하고나서 페이지를 어디로 리다이렉트하나 했는데

그 페이지 그대로 가져오고싶을때 사용할수있는 코드를 발견해서 이렇게 남기게되었따!

예를 들어 댓글이나 좋아요? 팔로우 등을 사용할때 포스트는 보내는데 페이지는 그냥 그대로 리다이렉트!

만 하고싶을때 이코드를 사용하면된다! 

return redirect(request.META.get('HTTP_REFERER', 'redirect_if_referer_not_found'))

HTTP_REFERER 뭔가 이게 핵심인거같다 잘기억하자!

 




코드예시)

# 댓글 쓰기
def write_comment(request, id): 
    if request.method == 'POST':
        current_comment = Feed.objects.get(id=id)
        comment = request.POST.get('comment')

        if comment != '':
            FC = Comment()
            FC.comment = comment
            FC.user = request.user
            FC.feed = current_comment
            FC.save()
        else: 
            return redirect(request.META['HTTP_REFERER']) # 이렇게도 사용가능!

    return redirect('contents:post_detail', id)

 

728x90
반응형