보통 urls.py 파일에 여러가기 view 의 주소를 많이 지정해 둔다.
코딩중에 해당 페이지로 이동하거나 render 를 하고 싶다면 이 view 에 맵핑된 주소를 불러와야 하는데 주소를 바로 주게 되면 혹시 변경이 생기는 경우, 그냥 소스 전체를 찾아서 수정해야 한다.
이를 방지하기 위해 url 에 접근하는 함수가 몇개 있는데,
결론은 그냥
resolve_url
redirect
이정도 쓰면 될듯
from django.shortcuts import resolve_url, redirect
resolve_url('blog:post_detail', 10) # '/blog/10/'
redirect('blog:post_detail', 10)
장고 템플릿에서 쓰는 방법은 다들 아는 바와 같이 아래처럼 사용하면 된다.
<li><a href="{% url 'blog:post_detail' post.id %}">{{ post.title }}</a> </li>
이 내용은 아래 원본글에서 더 자세하게 보세요.
https://wayhome25.github.io/django/2017/05/05/django-url-reverse/
URL Reverse, 아는 사람은 꼭 쓴다는 get_absolute_url() · 초보몽키의 개발공부로그
특정 모델에 대한 Detail뷰를 작성할 경우, Detail뷰에 대한 URLConf설정을 하자마자, 필히 get_absolute_url설정을 해주세요. 코드가 보다 간결해집니다
wayhome25.github.io
Hanna Auramenka 님의 사진, 출처: Pexels