반응형
Django에서 동일한 (이전) 페이지로 리디렉션 / 돌아 가기?
Django의 동일한 페이지로 사용자를 반환 할 때 옵션은 무엇이며 각각의 장단점은 무엇입니까?
내가 아는 방법 :
- HTTP_REFERER
- 이전 URL을 포함하는 GET 매개 변수
- 이전 URL을 저장할 세션 데이터
다른 것이 있습니까?
방법 중 하나는 HTTP_REFERER
아래와 같이 헤더를 사용하는 것입니다 .
from django.http import HttpResponseRedirect
def someview(request):
...
return HttpResponseRedirect(request.META.get('HTTP_REFERER'))
이것의 단점이 확실하지 않습니다!
질문과 답변은 오래되었지만 몇 가지 옵션이 부족하다고 생각합니다. 나는 방법에 대한 단점을 찾지 못했습니다. 어떤 것이 있는지 알게되어 기쁩니다.
- request.path_info
- request.get_full_path ()
-
from django.shortcuts import redirect redirect(request.path_info) # No query parameters redirect(request.build_absolute_uri()) # Keeps query parameters redirect(request.get_full_path()) # Keeps query parameters
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
반응형
'development' 카테고리의 다른 글
여러 C 프로그램을 컴파일하기위한 Makefile? (0) | 2021.01.06 |
---|---|
Rails 컨트롤러에서 HTTP 204를 반환하는 방법 (0) | 2021.01.06 |
Android 빈 선형 레이아웃 콘텐츠 (0) | 2021.01.05 |
패키지 이름에서 애플리케이션 아이콘을 어떻게 가져올 수 있습니까? (0) | 2021.01.05 |
Python의 heapq 모듈은 무엇입니까? (0) | 2021.01.05 |