728x90
좋아요 같은 기능을 개발할 때 좋아요를 누를 때마다 좋아요가 모여있는 곳으로 이동되면 불편하기 때문에 이전 페이지로 이동하게 됩니다. django에서는 어떻게 구현할 수 있을까요? 바로 HTTP_REFERER를 사용하여 구현할 수 있습니다.
우선 HTTP_REFERER는 HTTP 헤더 중의 하나로 HTTP_REFERER에는 현재 표시하는 웹페이지가 어떤 웹페이지에서 요청되었는지에 대한 정보를 가지고 있습니다.
예를 들어 [http://www.test.com/] 이하 A, [http://www.test.com/add_like] 이하 B라는 웹페이지가 존재할 때 A에서 B로 이동하게 될 때 HTTP_REFERER에는 A가 저장되게 됩니다.
따라서 HTTP_REFERER는 웹페이지 내적으로 이전 페이지로 이동하는 것을 위해 사용하는 게 아니라 웹페이지 외적으로 사용자들이 어떤 홈페이지에서 나의 웹페이지로 왔는지와 같은 기능을 수행하는 것에도 사용할 수 있습니다.
다음은 views.py의 코드입니다.
def return_previous_page(request):
url = request.META.get('HTTP_REFERER')
return redirect(url)
요청에 따른 views.py 함수에 다음과 같이 HTTP_REFERER 코드를 추가하여 반환받은 url을 redirect를 통해서 이전 페이지로 이동하게 해 주면 됩니다.
728x90
'Python > Django' 카테고리의 다른 글
[Django] Postgresql 연동하기 (0) | 2021.08.12 |
---|---|
[Django] SMTP 이메일 보내기 (0) | 2021.08.03 |
[Django] models.py의 함수를 이용하여 subcategory 표현하기 (0) | 2021.07.26 |
[Django] context_processor는 뭐야? (0) | 2021.07.20 |
[Django] AWS Lightsail 사용하여 프로젝트 공개 (0) | 2021.07.19 |