Django
장고 리다이렉트 #앵커태그(anchor tag )로 페이지의 특정 위치로 이동하기
daylee de vel
2021. 7. 12. 15:10
Issue:
추가 버튼을 누르면 def add_to_curriculum()이 실행되고 return redirect("hub:home") 으로 홈페이지로 보내지는 상황.
홈페이지의 특정위치, 아래에 위치한 필터로 바로 이동시켜주고 싶음
urls.py에서 path('#home-filter', views.HomeView, name='home-filter'), 를 추가했지만 url encoding의 결과로 다음과 같이 url이 변경되고 (# -> %23) 기대한 위치 이동 효과가 적용되지 않음.
[12/Jul/2021 14:43:23] "GET /%23home-filter HTTP/1.1" 200 16263
Solution:
urls.py 에서 url을 설정해주지 않고 hltml과 view에서 해결되도록 함
html에 앵커태그를 달아줌
index.html
<!--Filter-->
<a href="#home-filter"></a>
<div class="home-filter" id="home-filter"></div>
views.py
<기존의 redirection url>
return redirect("hub:home")
<변경 사항 적용한 url>
from django.http import HttpResponseRedirect
return HttpResponseRedirect('/#home-filter')