development

Django에서 동일한 (이전) 페이지로 리디렉션 / 돌아 가기?

big-blog 2021. 1. 6. 20:40
반응형

Django에서 동일한 (이전) 페이지로 리디렉션 / 돌아 가기?


Django의 동일한 페이지로 사용자를 반환 할 때 옵션은 무엇이며 각각의 장단점은 무엇입니까?

내가 아는 방법 :

  • HTTP_REFERER
  • 이전 URL을 포함하는 GET 매개 변수
  • 이전 URL을 저장할 세션 데이터

다른 것이 있습니까?


방법 중 하나는 HTTP_REFERER아래와 같이 헤더를 사용하는 것입니다 .

from django.http import HttpResponseRedirect

def someview(request):
   ...
   return HttpResponseRedirect(request.META.get('HTTP_REFERER'))

이것의 단점이 확실하지 않습니다!


질문과 답변은 오래되었지만 몇 가지 옵션이 부족하다고 생각합니다. 나는 방법에 대한 단점을 찾지 못했습니다. 어떤 것이 있는지 알게되어 기쁩니다.


100 % 작동 예

클래스 기반보기 및 기능 :

from django.http import HttpResponseRedirect
    ...
    return HttpResponseRedirect(request.META.get('HTTP_REFERER'))

또는

from django.http import HttpResponseRedirect
    ...
    return HttpResponseRedirect(self.request.META.get('HTTP_REFERER'))

예 -

class TaskNotificationReadAllView(generic.View):

    def get(self, request, *args, **kwargs):
        TaskNotification.objects.filter(assigned_to=request.user).update(read=True)   
        print(request.META.get('HTTP_REFERER'))    
        return HttpResponseRedirect(request.META.get('HTTP_REFERER'))

참조 URL : https://stackoverflow.com/questions/12758786/redirect-return-to-same-previous-page-in-django

반응형